.esmira-vx-prj--form-button {
	display: block;
	width: 100%;
	margin: 0;
	overflow: visible;
}

.esmira-vx-prj--form-button .ts-advanced-list,
.esmira-vx-prj--form-button .ts-action {
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: visible;
}

.esmira-vx-prj--form-button button.ts-action-con {
	cursor: pointer;
	box-sizing: border-box;
	font: inherit;
	line-height: inherit;
	text-align: inherit;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
}

.esmira-vx-prj {
	--prj-border: rgba(0, 0, 0, 0.12);
	--prj-muted: rgba(0, 0, 0, 0.55);
	--prj-bg: #fff;
	--prj-accent: #1e3a5f;
	--prj-danger: #b42318;
	font-size: 15px;
	line-height: 1.45;
	color: inherit;
}

.esmira-vx-prj__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.esmira-vx-prj__title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 650;
}

.esmira-vx-prj__details {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0;
	padding-bottom: 20px;
	font-size: 1rem;
	box-sizing: border-box;
}

.esmira-vx-prj__details-count,
.esmira-vx-prj__details .result-count {
	color: var(--ts-shade-3);
	font: inherit;
	line-height: inherit;
}

.esmira-vx-prj__details-sort {
	position: relative;
	flex: 0 0 auto;
	min-width: 0;
	margin-left: auto;
}

.esmira-vx-prj__details-sort[hidden] {
	display: none !important;
}

.esmira-vx-prj__details-sort .esmira-vx-psf-details-sort-src {
	display: block;
}

.esmira-vx-prj__details-sort .esmira-fe-popup-picker {
	width: auto;
}

/*
 * Voxel post-feed Order by (.vxf-sort): placeholder + chevron, no box/border/icon.
 * Duplicated here so the details bar does not depend on vx:post-feed.css loading.
 */
.esmira-vx-prj__details .vxf-sort {
	color: var(--ts-shade-3);
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: nowrap;
	flex-shrink: 0;
	margin-left: auto;
	transition: .2s ease;
	text-decoration: none;
	border: 0;
	background: none;
	padding: 0;
	height: auto;
	width: auto;
	box-shadow: none;
	cursor: pointer;
	border-radius: 0;
	font: inherit;
	line-height: normal;
}

.esmira-vx-prj__details .vxf-sort:hover {
	color: var(--ts-shade-2);
}

.esmira-vx-prj__details .vxf-sort .ts-down-icon {
	border-color: var(--ts-shade-3);
	margin-left: 0;
}

.esmira-vx-prj__details .vxf-sort:hover .ts-down-icon {
	border-color: var(--ts-shade-2);
}

.esmira-vx-prj__details .vxf-sort .esmira-fe-popup-picker__placeholder,
.esmira-vx-prj__details .vxf-sort .esmira-fe-popup-picker__value {
	color: inherit;
}

/* Form dialog heading defaults (match Elementor Style on Project/Task Form: Heading 16 / Dialog title 18). */
[data-esmira-vx-prj="form-project"] .esmira-vx-prj__title,
[data-esmira-vx-prj="form-task"] .esmira-vx-prj__title,
[data-esmira-vx-prj="form-milestone"] .esmira-vx-prj__title,
[data-esmira-vx-prj="form-project-settings"] .esmira-vx-prj__title {
	font-size: 16px;
}

.esmira-vx-prj-dialog[data-prj-mode="new"] .esmira-vx-prj-dialog__title,
.esmira-vx-prj-dialog[data-prj-mode="edit"] .esmira-vx-prj-dialog__title,
.esmira-vx-prj-dialog[data-prj-mode="settings"] .esmira-vx-prj-dialog__title,
.esmira-vx-prj-dialog.esmira-vx-prj-team-peek .esmira-vx-prj-dialog__title,
.esmira-vx-prj-dialog.esmira-vx-prj-dialog--confirm .esmira-vx-prj-dialog__title {
	font-size: 18px;
}

.esmira-vx-prj__back {
	margin: 0 0 0.35rem;
	font-size: 0.9rem;
}

.esmira-vx-prj__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0.4rem 0 0;
	color: var(--prj-muted);
}

.esmira-vx-prj__header-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.esmira-vx-prj__btn {
	appearance: none;
	border: 1px solid var(--prj-border);
	background: var(--prj-bg);
	color: inherit;
	border-radius: 6px;
	padding: 0.45rem 0.85rem;
	cursor: pointer;
	font: inherit;
}

.esmira-vx-prj__btn--primary {
	background: var(--prj-accent);
	border-color: var(--prj-accent);
	color: #fff;
}

.esmira-vx-prj__btn--danger {
	border-color: var(--prj-danger);
	color: var(--prj-danger);
}

.esmira-vx-prj__btn--small {
	padding: 0.25rem 0.55rem;
	font-size: 0.85rem;
}

.esmira-vx-prj__table-wrap {
	overflow-x: auto;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	background: var(--prj-bg);
}

.esmira-vx-prj__pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1rem;
}

.esmira-vx-prj__pager[hidden] {
	display: none !important;
}

.esmira-vx-prj__pager-ellipsis {
	display: inline-flex;
	align-items: center;
	min-width: 1.5rem;
	justify-content: center;
	color: var(--prj-muted, inherit);
	user-select: none;
}

/* Native <button> + Voxel .ts-btn paint a kit border. Strip it so Style → Border
   ({{WRAPPER}} .esmira-vx-prj__pager-btn) is the only chrome. */
.esmira-vx-prj__pager button.esmira-vx-prj__pager-btn.ts-btn,
.esmira-vx-prj__pager button.esmira-vx-prj__pager-btn.ts-btn:hover,
.esmira-vx-prj__pager button.esmira-vx-prj__pager-btn.ts-btn:focus {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	box-shadow: none;
	background-clip: padding-box;
	cursor: pointer;
}

.esmira-vx-prj__pager button.esmira-vx-prj__pager-btn.ts-btn:focus-visible {
	outline: 2px solid var(--ts-accent-1, var(--e-global-color-accent, #6366f1));
	outline-offset: 2px;
}

.esmira-vx-prj__pager-btn.is-current {
	pointer-events: none;
	cursor: default;
}

.esmira-vx-prj__pager-btn:disabled {
	opacity: 0.45;
	pointer-events: none;
}

.esmira-vx-prj__pager-arrow {
	min-width: 2.25rem;
	padding-left: 0.55rem;
	padding-right: 0.55rem;
}

.esmira-vx-prj__pager-arrow .las {
	font-size: 1.05em;
	line-height: 1;
}

.esmira-vx-prj__more {
	margin-top: 1rem;
	text-align: center;
}

.esmira-vx-prj__more[hidden] {
	display: none !important;
}

.esmira-vx-prj__table {
	width: 100%;
	border-collapse: collapse;
}

.esmira-vx-prj__table th,
.esmira-vx-prj__table td {
	padding: 0.7rem 0.85rem;
	text-align: left;
	border-bottom: 1px solid var(--prj-border);
	vertical-align: top;
}

.esmira-vx-prj__progress {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.2rem;
	min-width: 4.75rem;
	max-width: 7.5rem;
}

.esmira-vx-prj__progress-bar {
	position: relative;
	display: block;
	height: var(--prj-progress-bar-height, 1.1rem);
	border-radius: 999px;
	background: var(--prj-progress-track, var(--prj-border));
	overflow: hidden;
}

.esmira-vx-prj__progress-fill {
	display: block;
	height: 100%;
	background: var(--prj-progress-fill, var(--prj-accent));
	border-radius: inherit;
}

.esmira-vx-prj__progress-pct {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--prj-progress-fill, var(--prj-accent));
	font-variant-numeric: tabular-nums;
}

.esmira-vx-prj__progress.is-full .esmira-vx-prj__progress-pct {
	color: #fff;
}

.esmira-vx-prj__progress.is-empty .esmira-vx-prj__progress-pct {
	display: none;
}

.esmira-vx-prj__progress-count {
	font-size: 0.7rem;
	line-height: 1.2;
	color: var(--prj-muted);
	text-align: center;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.esmira-vx-prj__group-swatch {
	display: inline-block;
	width: 0.9em;
	height: 0.9em;
	border-radius: 999px;
	vertical-align: -0.1em;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.esmira-vx-prj__table th {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--prj-muted);
	font-weight: 600;
}

.esmira-vx-prj__table tr:last-child td {
	border-bottom: 0;
}

.esmira-vx-prj__badge--group {
	text-transform: none;
	border-left: 3px solid var(--prj-group-color, currentColor);
	padding-left: 0.45rem;
}

.esmira-vx-prj__group-row th {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: var(--prj-fg, inherit);
	background: color-mix(in srgb, var(--prj-border) 35%, var(--prj-bg));
	padding: 0.55rem 0.85rem;
	border-left: 4px solid var(--prj-group-color, transparent);
}

.esmira-vx-prj__settings-groups {
	margin-top: 1.75rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--prj-border, #ddd);
}

.esmira-vx-prj__groups {
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
}

/* Read-only list: one row per group (WP-list style), edit opens inline. */
.esmira-vx-prj__groups-item {
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--prj-border, #e5e7eb);
	background: transparent;
}

.esmira-vx-prj__groups-item:first-child {
	border-top: 1px solid var(--prj-border, #e5e7eb);
}

.esmira-vx-prj__groups-item.is-dragging {
	opacity: 0.5;
}

.esmira-vx-prj__group-row {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 8px 6px;
	box-sizing: border-box;
}

.esmira-vx-prj__group-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	min-width: 26px;
	height: 30px;
	color: var(--ts-shade-3, #9ca3af);
	cursor: grab;
	flex: 0 0 auto;
	touch-action: none;
}

.esmira-vx-prj__group-handle:active {
	cursor: grabbing;
}

.esmira-vx-prj__group-dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	min-width: 14px;
	border-radius: 40px;
	background: var(--prj-group-color, #2563eb);
	flex: 0 0 auto;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.esmira-vx-prj__group-name {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 560;
}

.esmira-vx-prj__group-count {
	flex: 0 0 auto;
	color: var(--ts-shade-2, #6b7280);
	font-size: 0.82rem;
	font-variant-numeric: tabular-nums;
}

.esmira-vx-prj__group-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
}

/* Inline edit form, revealed by the pencil action. */
.esmira-vx-prj__group-edit[hidden] {
	display: none !important;
}

.esmira-vx-prj__group-edit {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	padding: 4px 6px 14px 42px;
	min-width: 0;
	max-width: 100%;
}

.esmira-vx-prj__group-edit-name {
	flex: 1 1 12rem;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.esmira-vx-prj__group-edit-name .ts-filter {
	width: 100%;
	box-sizing: border-box;
}

.esmira-vx-prj__group-edit-color {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	padding: 0;
}

/* Voxel .ts-form input is width:100%; height:44px; padding:16px — beat that for the swatch. */
.esmira-vx-prj.ts-form input[type="color"].esmira-vx-prj__color-input,
.esmira-vx-prj__settings-groups.ts-form input[type="color"].esmira-vx-prj__color-input {
	display: block;
	width: 44px;
	min-width: 44px;
	max-width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	border: 1px solid var(--ts-shade-3);
	border-radius: 0.375rem;
	background: transparent;
	cursor: pointer;
	box-sizing: border-box;
	flex: 0 0 44px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.esmira-vx-prj.ts-form input[type="color"].esmira-vx-prj__color-input::-webkit-color-swatch-wrapper,
.esmira-vx-prj__settings-groups.ts-form input[type="color"].esmira-vx-prj__color-input::-webkit-color-swatch-wrapper {
	padding: 0;
}

.esmira-vx-prj.ts-form input[type="color"].esmira-vx-prj__color-input::-webkit-color-swatch,
.esmira-vx-prj__settings-groups.ts-form input[type="color"].esmira-vx-prj__color-input::-webkit-color-swatch {
	border: 0;
	border-radius: calc(0.375rem - 1px);
}

.esmira-vx-prj.ts-form input[type="color"].esmira-vx-prj__color-input::-moz-color-swatch,
.esmira-vx-prj__settings-groups.ts-form input[type="color"].esmira-vx-prj__color-input::-moz-color-swatch {
	border: 0;
	border-radius: calc(0.375rem - 1px);
}

.esmira-vx-prj__group-edit-actions,
.esmira-vx-prj__groups-add-action {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
}

.esmira-vx-prj__groups-add .form-btn,
.esmira-vx-prj__group-edit .form-btn {
	width: auto;
	height: 44px;
	box-sizing: border-box;
	flex: 0 0 auto;
}

.esmira-vx-prj__settings-switches {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px 24px;
	min-width: 0;
	margin: 0 0 8px;
}

.esmira-vx-prj__settings-switches > .ts-form-group {
	min-width: 0;
	margin: 0;
	padding: 0;
}

.esmira-vx-prj__form .esmira-vx-prj__settings-switches .switcher-label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 10px;
	row-gap: 5px;
	margin-bottom: 0;
	padding-bottom: 0;
}

.esmira-vx-prj__settings-switches .onoffswitch {
	height: 26px;
	overflow: hidden;
	flex: 0 0 42px;
	align-self: center;
}

.esmira-vx-prj__settings-switches .onoffswitch-checkbox {
	width: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

.esmira-vx-prj__settings-switch-title {
	display: flex;
	align-items: center;
	min-height: 26px;
	line-height: 1.2;
}

.esmira-vx-prj__form .esmira-vx-prj__settings-switches .switcher-label small {
	width: 100%;
	font-weight: 400;
}

@media (min-width: 1025px) {
	.esmira-vx-prj__settings-switches {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
}

.esmira-vx-prj__groups-add {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	margin-top: 1.25rem;
	min-width: 0;
	max-width: 100%;
}

.esmira-vx-prj-dialog .esmira-vx-prj__settings-groups {
	min-width: 0;
	max-width: 100%;
	overflow-x: hidden;
}

.esmira-vx-prj__groups-empty {
	margin: 0 0 0.75rem;
}

@media (max-width: 560px) {
	.esmira-vx-prj__group-edit {
		padding-left: 6px;
	}
}

.esmira-vx-prj__form {
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	padding: 1rem;
	margin-bottom: 1.25rem;
	background: var(--prj-bg);
}

.esmira-vx-prj__form label {
	display: block;
	font-weight: 560;
	margin-bottom: 0.35rem;
}

.esmira-vx-prj__picker {
	margin: 0.75rem 0 0.25rem;
}

.esmira-vx-prj__picker-label {
	display: block;
	font-weight: 560;
	margin-bottom: 0.35rem;
}

.esmira-vx-prj__picker-search {
	display: block;
	width: 100%;
	margin-bottom: 0.45rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--prj-border);
	border-radius: 6px;
	font: inherit;
	background: #fff;
}

.esmira-vx-prj__picker-list {
	max-height: 220px;
	overflow: auto;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	background: #fff;
}

.esmira-vx-prj__picker-row {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	padding: 0.5rem 0.7rem;
	border-bottom: 1px solid var(--prj-border);
	font-weight: 500;
	cursor: pointer;
}

.esmira-vx-prj__picker-row:last-child {
	border-bottom: 0;
}

.esmira-vx-prj__picker-row:hover {
	background: rgba(30, 58, 95, 0.05);
}

.esmira-vx-prj__picker-row input {
	width: auto;
	margin: 0;
	flex: 0 0 auto;
}

.esmira-vx-prj__form .esmira-vx-prj__hint {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.85rem;
	font-weight: 400;
	color: var(--prj-muted);
}

.esmira-vx-prj__form input[type="text"],
.esmira-vx-prj__form input[type="email"],
.esmira-vx-prj__form input[type="date"],
.esmira-vx-prj__form input[type="datetime-local"],
.esmira-vx-prj__form input[type="search"],
.esmira-vx-prj__form textarea,
.esmira-vx-prj__form select {
	display: block;
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--prj-border);
	border-radius: 6px;
	font: inherit;
	background: #fff;
}

.esmira-vx-prj__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
}

.esmira-vx-prj__filter {
	display: inline-block;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--prj-border);
	border-radius: 6px;
	text-decoration: none;
	color: inherit;
	font-size: 0.9rem;
}

.esmira-vx-prj__filter.is-active {
	background: var(--prj-accent);
	border-color: var(--prj-accent);
	color: #fff;
}

.esmira-vx-prj__recipients {
	margin: 0 0 1.25rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	background: var(--prj-bg);
}

.esmira-vx-prj__recipients p {
	margin: 0.25rem 0;
}

/* Align with sibling .ts-form-group (no horizontal inset). */
.esmira-vx-prj__recipients-fields {
	margin: 0 0 25px;
	padding: 0;
	border: none;
	background: transparent;
}

.esmira-vx-prj__recipients-fields > .description,
.esmira-vx-prj__recipients-fields > .esmira-vx-prj__hint {
	margin: 0 0 0.65rem;
	padding: 0;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--prj-muted);
	font-weight: 400;
}

.esmira-vx-prj__recipients-fields legend {
	padding: 0 0.35rem;
	font-weight: 650;
}

.esmira-vx-prj__hint {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: var(--prj-muted);
	font-weight: 400;
}

.esmira-vx-prj__recipient-slot {
	margin: 0 0 0.85rem;
	padding: 0;
}

.esmira-vx-prj__recipient-slot:last-child {
	margin-bottom: 0;
}

/* Same size as form labels; light background only on Person / Entity titles. */
.esmira-vx-prj__form--project .esmira-vx-prj__slot-title,
.esmira-vx-prj__slot-title {
	margin: 0 0 0.45rem;
	padding: 0.2rem 0.4rem;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: normal;
	border-radius: 4px;
	background: color-mix(in srgb, currentColor 3.5%, transparent);
}

.esmira-vx-prj__mode-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin: 0 0 0.5rem;
}

.esmira-vx-prj__mode-row label {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-weight: 500;
	margin: 0;
}

.esmira-vx-prj__mode-row input {
	width: auto;
	margin: 0;
}

.esmira-vx-prj__form-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.75rem;
}

.esmira-vx-prj__form-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	margin-top: 0.5rem;
	width: 100%;
}

.esmira-vx-prj__desc {
	margin-bottom: 1.25rem;
	color: var(--prj-muted);
}

.esmira-vx-prj__empty td {
	color: var(--prj-muted);
	font-style: italic;
}

.esmira-vx-prj__row-actions {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.15rem;
	white-space: nowrap;
}

.esmira-vx-prj-msg {
	padding: 0.75rem 0;
}

.esmira-vx-prj-marker-hint {
	margin: 0;
	padding: 0.75rem 1rem;
	border: 1px dashed currentColor;
	opacity: 0.7;
	font-size: 13px;
}

.esmira-vx-prj-dialog [data-prj-dialog-scope] {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
}

/* Eye preview: keep planner chrome. Shell exists only so Elementor {{WRAPPER}} matches. */
dialog.esmira-vx-prj-dialog.esmira-vx-prj-feed-preview [data-prj-dialog-scope] {
	display: contents;
}

html[data-prj-scroll-lock="1"],
html[data-prj-scroll-lock="1"] body {
	overflow: hidden !important;
	overscroll-behavior: none;
}

dialog.esmira-vx-prj-dialog {
	position: fixed;
	inset: 0;
	margin: auto;
	height: fit-content;
	flex-direction: column;
	border: 0;
	border-radius: 12px;
	padding: 0;
	width: min(640px, calc(100vw - 2rem));
	max-width: 100%;
	max-height: min(90vh, 800px);
	color: inherit;
	background: #fff;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.28);
	overflow: visible;
	overscroll-behavior: contain;
}

.esmira-vx-prj-dialog[open] {
	display: flex;
}

dialog.esmira-vx-prj-dialog.is-expanded,
dialog.esmira-vx-prj-dialog.esmira-vx-prj-feed-preview.is-expanded,
dialog.esmira-vx-prj-dialog.esmira-vx-prj-team-peek.is-expanded {
	inset: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	border-radius: 0;
}

.esmira-vx-prj-dialog:not([open]) {
	display: none !important;
}

.esmira-vx-prj-dialog::backdrop {
	background: rgba(15, 23, 42, 0.45);
}

.esmira-vx-prj-dialog__header {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-shrink: 0;
	height: 50px;
	padding: 10px 15px;
	border-bottom: 0.5px solid var(--ts-shade-4, #e2e8f0);
	background: #fff;
}

.esmira-vx-prj-dialog__title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: normal;
	color: inherit;
}

.esmira-vx-prj-dialog__header-actions {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 0;
}

.esmira-vx-prj-dialog__close,
.esmira-vx-prj-dialog__expand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--ts-shade-2, #64748b);
	--ts-icon-size: 20px;
	--ts-icon-color: var(--ts-shade-2, #64748b);
}

.esmira-vx-prj-dialog__close svg {
	width: var(--ts-icon-size, 20px);
	height: var(--ts-icon-size, 20px);
	fill: currentColor;
}

.esmira-vx-prj-dialog__expand svg {
	width: var(--ts-icon-size, 20px);
	height: var(--ts-icon-size, 20px);
	fill: none;
	stroke: currentColor;
}

.esmira-vx-prj-dialog__close:hover,
.esmira-vx-prj-dialog__expand:hover {
	color: var(--ts-shade-1, #1e293b);
}

.esmira-vx-prj-dialog__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	overscroll-behavior: contain;
	padding: 1.1rem 1.1rem 0.75rem;
}

.esmira-vx-prj-dialog__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex-shrink: 0;
	gap: 0.5rem;
	padding: 12px 15px;
	border-top: 0.5px solid var(--ts-shade-4, #e2e8f0);
	background: #fff;
}

.esmira-vx-prj-dialog__footer .esmira-vx-prj__form-actions {
	margin-top: 0;
	width: 100%;
}

.esmira-vx-prj-dialog__footer .ts-btn,
.esmira-vx-prj__form-actions .ts-btn {
	cursor: pointer;
}

dialog.esmira-vx-prj-dialog.esmira-vx-prj-dialog--confirm {
	width: min(420px, calc(100vw - 2rem));
}

.esmira-vx-prj-dialog--confirm .esmira-vx-prj-dialog__body {
	padding: 1.1rem 1.1rem 0.9rem;
}

.esmira-vx-prj-dialog--confirm .esmira-vx-prj-dialog__body p {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	color: inherit;
}

.esmira-vx-prj-dialog--confirm .esmira-vx-prj-dialog__footer {
	justify-content: flex-end;
}

.esmira-vx-prj__form[data-prj-saving] button[type="submit"],
.esmira-vx-prj-dialog:has([data-prj-saving]) .esmira-vx-prj-dialog__footer button[type="submit"],
.esmira-vx-prj__form-actions button[type="submit"]:disabled {
	pointer-events: none;
	opacity: 0.65;
	cursor: wait;
}

.esmira-vx-prj-dialog.is-saving .esmira-vx-prj-dialog__close,
.esmira-vx-prj-dialog.is-saving .esmira-vx-prj-dialog__expand,
.esmira-vx-prj-dialog.is-saving [data-prj-action="cancel-project"],
.esmira-vx-prj-dialog.is-saving [data-prj-action="cancel-task"],
.esmira-vx-prj-dialog.is-saving [data-prj-action="cancel-milestone"],
.esmira-vx-prj-dialog.is-saving [data-prj-action="cancel-project-settings"] {
	pointer-events: none;
	opacity: 0.45;
}

.esmira-vx-prj-dialog__loader {
	position: absolute;
	inset: 0;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.72);
}

.esmira-vx-prj-dialog__loader[hidden] {
	display: none !important;
}

.esmira-vx-prj-dialog__spinner {
	width: 36px;
	height: 36px;
	border: 3px solid var(--ts-shade-4, #e2e8f0);
	border-top-color: var(--ts-accent-1, #1e3a5f);
	border-radius: 50%;
	animation: esmira-vx-prj-spin 0.7s linear infinite;
}

@keyframes esmira-vx-prj-spin {
	to {
		transform: rotate(360deg);
	}
}

.esmira-vx-prj-dialog .esmira-vx-prj__header {
	display: none;
}

.esmira-vx-prj-dialog [data-prj-dialog-panel] {
	max-height: none;
	overflow: visible;
	padding: 0;
}

.esmira-vx-prj-dialog .esmira-vx-prj__form {
	border: 0;
	margin: 0;
	padding: 0;
}

.esmira-vx-prj__form-actions [data-prj-action="cancel-project"],
.esmira-vx-prj-dialog [data-prj-action="cancel-project"],
.esmira-vx-prj-dialog [data-prj-action="cancel-task"],
.esmira-vx-prj-dialog [data-prj-action="cancel-milestone"],
.esmira-vx-prj__form-actions [data-prj-action="cancel-project-settings"],
.esmira-vx-prj-dialog [data-prj-action="cancel-project-settings"],
body.elementor-editor-active [data-prj-action="cancel-project"],
body.elementor-editor-preview [data-prj-action="cancel-project"],
body.elementor-editor-active [data-prj-action="cancel-project-settings"],
body.elementor-editor-preview [data-prj-action="cancel-project-settings"] {
	display: inline-flex;
}

.esmira-vx-prj.esmira-vx-prj-loading,
.esmira-vx-psf.esmira-vx-psf-loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.esmira-vx-psf {
	--esmira-vx-psf-gap: 12px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 0 1.25rem;
	width: 100%;
}

.esmira-vx-psf-inline {
	width: 100%;
}

.esmira-vx-psf.is-toggle-mode {
	margin-bottom: 0;
}

.esmira-vx-psf.is-toggle-mode > .esmira-vx-psf-toggle {
	display: flex !important;
}

.esmira-vx-psf.is-toggle-mode > .esmira-vx-psf-inline {
	display: none !important;
}

.esmira-vx-psf-form.ts-filter-wrapper,
.esmira-vx-psf-form.ts-filter-wrapper.flexify {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--esmira-vx-psf-gap, 12px);
	width: 100%;
}

.esmira-vx-psf .ts-form-group.ts-inline-filter,
.esmira-vx-psf .esmira-vx-psf-field,
.esmira-vx-psf-form > .esmira-vx-psf-field {
	flex: 1 1 180px !important;
	min-width: 180px !important;
	max-width: 100%;
	width: auto;
	box-sizing: border-box;
}

.esmira-vx-psf .esmira-vx-psf-field .ts-input-icon,
.esmira-vx-psf .esmira-vx-psf-field .esmira-fe-popup-picker,
.esmira-vx-psf .esmira-vx-psf-field .ts-filter,
.esmira-vx-psf .esmira-vx-psf-field .inline-input,
.esmira-vx-psf .esmira-vx-psf-field .esmira-fe-popup-picker__trigger {
	width: 100% !important;
	min-width: 0;
	box-sizing: border-box;
}

.esmira-vx-psf .ts-input-icon,
.esmira-vx-psf-toggle-popup .ts-input-icon {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
}

.esmira-vx-psf .ts-input-icon > span,
.esmira-vx-psf-toggle-popup .ts-input-icon > span {
	position: absolute;
	left: 15px;
	top: 0;
	bottom: 0;
	transform: none;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	height: auto;
	margin: 0;
	pointer-events: none;
}

.esmira-vx-psf .ts-input-icon > span svg,
.esmira-vx-psf-toggle-popup .ts-input-icon > span svg {
	display: block;
	width: var(--ts-icon-size, 20px);
	height: var(--ts-icon-size, 20px);
	flex-shrink: 0;
}

.esmira-vx-psf .ts-input-icon > input.inline-input,
.esmira-vx-psf-toggle-popup .ts-input-icon > input.inline-input {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	line-height: normal;
}

.esmira-vx-psf-seg {
	display: inline-flex;
	align-items: stretch;
	gap: 0;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.esmira-vx-psf-seg__btn {
	appearance: none;
	flex: 1 1 0;
	margin: 0;
	padding: 0.45rem 0.9rem;
	border: 0;
	border-right: 1px solid var(--ts-shade-4, #e2e8f0);
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 0.875rem;
	cursor: pointer;
	line-height: 1.2;
}

.esmira-vx-psf-seg__btn:last-child {
	border-right: 0;
}

.esmira-vx-psf-seg__btn.is-active {
	background: var(--ts-accent-1, #1e3a5f);
	color: #fff;
}

.esmira-vx-psf-seg__btn:focus-visible {
	outline: 2px solid var(--ts-accent-1, #1e3a5f);
	outline-offset: -2px;
	z-index: 1;
}

.esmira-vx-psf > .esmira-vx-psf-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	cursor: pointer;
	text-decoration: none;
	position: relative;
	box-sizing: border-box;
	width: auto;
	max-width: 100%;
	margin: 0;
	vertical-align: top;
	line-height: 1;
}

.esmira-vx-psf-toggle .ts-toggle-text {
	margin: 0;
	line-height: 1;
}

.esmira-vx-psf-toggle svg {
	display: block;
	width: var(--ts-icon-size, 1em);
	height: var(--ts-icon-size, 1em);
	flex: 0 0 auto;
	color: var(--ts-icon-color, currentColor);
}

@media (min-width: 1025px) {
	.esmira-vx-psf[data-toggle-desktop="1"] {
		margin-bottom: 0;
	}

	.esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-toggle {
		display: flex;
	}

	.esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-inline {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.esmira-vx-psf[data-toggle-tablet="1"] {
		margin-bottom: 0;
	}

	.esmira-vx-psf[data-toggle-tablet="1"] > .esmira-vx-psf-toggle {
		display: flex;
	}

	.esmira-vx-psf[data-toggle-tablet="1"] > .esmira-vx-psf-inline {
		display: none;
	}
}

@media (max-width: 767px) {
	.esmira-vx-psf[data-toggle-mobile="1"] {
		margin-bottom: 0;
	}

	.esmira-vx-psf[data-toggle-mobile="1"] > .esmira-vx-psf-toggle {
		display: flex;
	}

	.esmira-vx-psf[data-toggle-mobile="1"] > .esmira-vx-psf-inline {
		display: none;
	}
}

html.elementor-device-desktop .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-toggle,
body.elementor-device-desktop .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-toggle,
html.elementor-editor-preview:not(.elementor-device-tablet):not(.elementor-device-mobile) .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-toggle,
body.elementor-editor-preview:not(.elementor-device-tablet):not(.elementor-device-mobile) .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-toggle {
	display: flex !important;
}

html.elementor-device-desktop .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-inline,
body.elementor-device-desktop .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-inline,
html.elementor-editor-preview:not(.elementor-device-tablet):not(.elementor-device-mobile) .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-inline,
body.elementor-editor-preview:not(.elementor-device-tablet):not(.elementor-device-mobile) .esmira-vx-psf[data-toggle-desktop="1"] > .esmira-vx-psf-inline {
	display: none !important;
}

html.elementor-device-desktop .esmira-vx-psf:not([data-toggle-desktop="1"]) > .esmira-vx-psf-toggle,
body.elementor-device-desktop .esmira-vx-psf:not([data-toggle-desktop="1"]) > .esmira-vx-psf-toggle {
	display: none !important;
}

html.elementor-device-desktop .esmira-vx-psf:not([data-toggle-desktop="1"]) > .esmira-vx-psf-inline,
body.elementor-device-desktop .esmira-vx-psf:not([data-toggle-desktop="1"]) > .esmira-vx-psf-inline {
	display: block !important;
}

html.elementor-device-tablet .esmira-vx-psf[data-toggle-tablet="1"] > .esmira-vx-psf-toggle,
body.elementor-device-tablet .esmira-vx-psf[data-toggle-tablet="1"] > .esmira-vx-psf-toggle {
	display: flex !important;
}

html.elementor-device-tablet .esmira-vx-psf[data-toggle-tablet="1"] > .esmira-vx-psf-inline,
body.elementor-device-tablet .esmira-vx-psf[data-toggle-tablet="1"] > .esmira-vx-psf-inline {
	display: none !important;
}

html.elementor-device-tablet .esmira-vx-psf:not([data-toggle-tablet="1"]) > .esmira-vx-psf-toggle,
body.elementor-device-tablet .esmira-vx-psf:not([data-toggle-tablet="1"]) > .esmira-vx-psf-toggle {
	display: none !important;
}

html.elementor-device-tablet .esmira-vx-psf:not([data-toggle-tablet="1"]) > .esmira-vx-psf-inline,
body.elementor-device-tablet .esmira-vx-psf:not([data-toggle-tablet="1"]) > .esmira-vx-psf-inline {
	display: block !important;
}

html.elementor-device-mobile .esmira-vx-psf[data-toggle-mobile="1"] > .esmira-vx-psf-toggle,
body.elementor-device-mobile .esmira-vx-psf[data-toggle-mobile="1"] > .esmira-vx-psf-toggle {
	display: flex !important;
}

html.elementor-device-mobile .esmira-vx-psf[data-toggle-mobile="1"] > .esmira-vx-psf-inline,
body.elementor-device-mobile .esmira-vx-psf[data-toggle-mobile="1"] > .esmira-vx-psf-inline {
	display: none !important;
}

html.elementor-device-mobile .esmira-vx-psf:not([data-toggle-mobile="1"]) > .esmira-vx-psf-toggle,
body.elementor-device-mobile .esmira-vx-psf:not([data-toggle-mobile="1"]) > .esmira-vx-psf-toggle {
	display: none !important;
}

html.elementor-device-mobile .esmira-vx-psf:not([data-toggle-mobile="1"]) > .esmira-vx-psf-inline,
body.elementor-device-mobile .esmira-vx-psf:not([data-toggle-mobile="1"]) > .esmira-vx-psf-inline {
	display: block !important;
}

.esmira-vx-psf-hidden {
	display: none !important;
}

.esmira-vx-psf-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(49, 49, 53, 0.55);
	z-index: 499999;
	border: 0;
	padding: 0;
}

.esmira-vx-psf-backdrop[hidden] {
	display: none !important;
}

.esmira-vx-psf .esmira-vx-psf-toggle {
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	cursor: pointer;
	text-decoration: none;
	position: relative;
}

.esmira-vx-psf .esmira-vx-psf-filter-count[hidden] {
	display: none !important;
}

.esmira-vx-psf .esmira-vx-psf-toggle .ts-filter-count,
.esmira-vx-psf .esmira-vx-psf-filter-count {
	position: absolute;
	top: -5px;
	right: -5px;
	left: auto;
	margin: 0;
	z-index: 1;
	pointer-events: none;
}

.esmira-vx-psf-toggle-popup:not(.is-ported) {
	display: none !important;
}

.esmira-vx-psf-toggle-popup.is-ported {
	display: flex !important;
	position: fixed;
	z-index: 500000;
	margin: 0;
}

html.esmira-vx-psf-toggle-open {
	overflow: hidden;
}

/*
 * Match Voxel Search Form toggle (popup-kit.css).
 * Fields stay flex: 0 0 auto so column-reverse + 100dvh does not stretch them.
 */
.esmira-vx-psf-toggle-popup .esmira-vx-psf-toggle-content {
	width: 100%;
	box-sizing: border-box;
	padding: 15px 15px 0;
}

.esmira-vx-psf-toggle-popup .esmira-vx-psf-form.ts-filter-wrapper,
.esmira-vx-psf-toggle-popup.is-ported .ts-filter-wrapper {
	padding: 0 !important;
	flex-wrap: wrap !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	width: 100%;
	height: auto !important;
	flex: 0 0 auto !important;
	gap: 0 !important;
	box-sizing: border-box;
}

.esmira-vx-psf-toggle-popup .esmira-vx-psf-form .ts-form-group,
.esmira-vx-psf-toggle-popup .ts-filter-wrapper > .ts-form-group,
.esmira-vx-psf-toggle-popup .esmira-vx-psf-field,
.esmira-vx-psf-toggle-popup .ts-form-group.ts-inline-filter {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto !important;
	gap: 0;
	min-width: 0 !important;
	min-height: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 0 15px 0;
	box-sizing: border-box;
}

.esmira-vx-psf-toggle-popup .ts-form-group > label {
	padding-bottom: 10px;
}

.esmira-vx-psf-toggle-popup > .ts-field-popup > .ts-popup-controller {
	flex: 0 0 auto;
}

.esmira-vx-psf-empty {
	padding: 0.75rem 0;
	opacity: 0.75;
}

@media (max-width: 1024px) {
	.esmira-vx-psf-toggle-popup.is-ported {
		inset: 0;
		width: 100%;
		height: 100dvh;
		min-height: -webkit-fill-available;
		align-items: stretch;
		overflow: hidden;
	}

	.esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup {
		--vx-popup-height: 100dvh;
		display: flex;
		flex-direction: column-reverse;
		justify-content: flex-end;
		align-self: end;
		position: relative;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		min-height: var(--vx-popup-height);
		max-height: 100dvh;
		height: 100%;
		border-radius: 0 !important;
		border: none !important;
		overflow: hidden;
		animation-name: slide-up;
		animation-fill-mode: forwards;
		animation-duration: 0.4s;
		animation-timing-function: cubic-bezier(0.22, 0.48, 0, 1);
		will-change: transform, opacity;
	}

	.esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
	.esmira-vx-psf-toggle-popup.is-ported .min-scroll {
		flex: 1 1 auto;
		min-height: 0;
		max-height: none !important;
		overflow: auto;
	}

	.esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller {
		border-top: none;
		border-bottom: 1px solid var(--ts-shade-4, #e2e8f0);
	}
}

html.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported,
html.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported,
body.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported,
body.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported {
	inset: 0;
	width: 100%;
	height: 100dvh;
	min-height: -webkit-fill-available;
	align-items: stretch;
	overflow: hidden;
	transform: none;
	max-width: none;
	max-height: none;
	top: auto;
	left: auto;
}

html.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup,
html.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup,
body.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup,
body.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup {
	--vx-popup-height: 100dvh;
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	align-self: end;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	min-height: var(--vx-popup-height);
	max-height: 100dvh;
	height: 100%;
	border-radius: 0 !important;
	border: none !important;
	overflow: hidden;
	animation-name: slide-up;
	animation-fill-mode: forwards;
	animation-duration: 0.4s;
	animation-timing-function: cubic-bezier(0.22, 0.48, 0, 1);
}

html.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
html.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
body.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
body.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
}

html.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller,
html.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller,
body.elementor-device-mobile .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller,
body.elementor-device-tablet .esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller {
	border-top: none;
	border-bottom: 1px solid var(--ts-shade-4, #e2e8f0);
}

@media (min-width: 1025px) {
	.esmira-vx-psf-toggle-popup.is-ported {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: auto;
		max-width: 95vw;
		max-height: 85vh;
	}

	.esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup {
		display: flex;
		flex-direction: column;
		width: 100%;
		min-width: 500px;
		max-width: 500px;
		max-height: 85vh;
		overflow: hidden;
		animation-name: smooth-reveal;
		animation-fill-mode: forwards;
		animation-duration: 0.5s;
		animation-timing-function: cubic-bezier(0.22, 0.68, 0, 1);
	}

	.esmira-vx-psf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
	.esmira-vx-psf-toggle-popup.is-ported .min-scroll {
		flex: 1 1 auto;
		min-height: 0;
		overflow: auto;
	}
}

/* Project Form — Voxel ts-form (Sky Planner / create-post). */
.esmira-vx-prj__form--project.ts-form .ts-form-group,
.esmira-vx-prj-dialog .esmira-vx-prj__form--project .ts-form-group {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* Voxel create-post .form-field-grid { grid-gap: 25px }. */
.esmira-vx-prj__form--project.ts-form > .ts-form-group,
.esmira-vx-prj__form--project .esmira-vx-prj__recipients-fields .ts-form-group {
	margin-bottom: 25px;
}

.esmira-vx-prj__form--project .esmira-vx-prj-date > .ts-form-group {
	margin-bottom: 0;
}

.esmira-vx-prj__form--project.ts-form .ts-filter,
.esmira-vx-prj__form--project.ts-form textarea.ts-filter {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Voxel create-post textarea is min-height 120px; theme .ts-form textarea is 44px (looks like an input). */
.esmira-vx-prj__form--project.ts-form textarea.ts-filter {
	height: auto;
	min-height: 120px;
	white-space: pre-wrap;
	overflow: auto;
	display: block;
	align-items: stretch;
	line-height: 1.45;
	resize: vertical;
	padding: 16px;
}

.esmira-vx-prj .ts-form-group > label {
	position: relative;
}

.esmira-vx-prj .vx-dialog {
	position: relative;
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	cursor: help;
}

.esmira-vx-prj .is-required ~ .vx-dialog {
	margin-left: 0;
}

.esmira-vx-prj .vx-dialog > svg {
	width: 16px;
	height: 16px;
	fill: var(--ts-shade-3, #8b90a0);
}

.esmira-vx-prj .vx-dialog:hover > svg,
.esmira-vx-prj .vx-dialog:focus > svg {
	fill: var(--ts-shade-2, #5c6170);
}

.esmira-vx-prj .vx-dialog:hover .vx-dialog-content,
.esmira-vx-prj .vx-dialog:focus .vx-dialog-content,
.esmira-vx-prj .vx-dialog:focus-within .vx-dialog-content {
	display: block;
}

.esmira-vx-prj .vx-dialog-content {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	width: 220px;
	padding: 12px;
	background: #fff;
	border: 1px solid var(--ts-shade-3, #d5d8e0);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	z-index: 40;
	border-radius: 0.375rem;
	max-height: 220px;
	font-size: 14px;
	color: var(--ts-shade-2, #5c6170);
	white-space: pre-wrap;
	overflow-y: auto;
}

.esmira-vx-prj .vx-dialog-content p {
	margin: 0;
}

.esmira-vx-prj [data-prj-recipients-wrap][hidden],
.esmira-vx-prj [data-prj-panel][hidden] {
	display: none !important;
}

.esmira-vx-prj-date {
	position: relative;
}

.esmira-vx-prj-date__row {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.esmira-vx-prj-date__day {
	flex: 2 1 0;
	min-width: 0;
}

.esmira-vx-prj-date__time {
	flex: 1 1 0;
	min-width: 6.5rem;
	max-width: 9.75rem;
}

.esmira-vx-prj-date__time .ts-filter {
	width: 100%;
	height: 100%;
	min-height: var(--ts-form-field-height, 42px);
	box-sizing: border-box;
}

.esmira-vx-prj-calendar-popup {
	position: absolute;
	z-index: 40;
	left: 0;
	top: calc(100% + 0.35rem);
	width: auto;
}

.esmira-vx-prj-calendar-popup .ts-booking-date {
	margin-bottom: 0;
}

/* Voxel popup-kit: .ts-popup-content-wrapper > .ts-form-group { padding: 15px 15px 0 } + last-child 15px. */
.esmira-vx-prj-calendar-popup .ts-popup-content-wrapper > .ts-form-group {
	padding: 15px;
}

.esmira-vx-prj-calendar-popup .pika-single,
.esmira-vx-prj-calendar-popup .pika-lendar {
	width: 100%;
	float: none;
	margin: 0;
}

.esmira-vx-prj-calendar-popup.is-ported {
	position: fixed;
	z-index: 600002;
	margin: 0;
	box-sizing: border-box;
	max-width: calc(100vw - 16px);
}

/* Voxel @media (max-width: 1024px): full-viewport container, sheet min 50dvh, content padding-bottom 50px. */
.esmira-vx-prj-calendar-popup.is-ported.is-sheet {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	background: rgba(49, 49, 53, 0.631);
}

.esmira-vx-prj-calendar-popup.is-ported.is-sheet .ts-popup-content-wrapper {
	padding-bottom: 50px;
}

.esmira-vx-prj-calendar-popup[hidden] {
	display: none !important;
}

.esmira-vx-prj-dialog .esmira-vx-prj__form-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.esmira-vx-prj-linked {
	position: relative;
	width: 100%;
}

.esmira-vx-prj-linked__trigger {
	display: flex;
	align-items: center;
	width: 100%;
	cursor: pointer;
	text-align: left;
	box-sizing: border-box;
	margin: 0;
	font: inherit;
	line-height: normal;
	appearance: none;
	-webkit-appearance: none;
}

.esmira-vx-prj-linked__trigger .ts-filter-text {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-linked__placeholder {
	color: var(--ts-shade-3, #94a3b8);
}

.esmira-vx-prj-linked__panel {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	z-index: 40;
	background: #fff;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: var(--ts-radius, 10px);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	padding: 0.7rem;
	box-sizing: border-box;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.esmira-vx-prj-linked__panel[hidden] {
	display: none !important;
}

.esmira-vx-prj-linked__panel.is-ported {
	display: flex !important;
	margin: 0;
}

.esmira-vx-prj-linked__panel.is-sheet {
	border-radius: 16px 16px 0 0;
	padding-bottom: calc(0.9rem + env(safe-area-inset-bottom, 0px));
}

.esmira-vx-prj-linked__chips {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.35rem;
	padding-bottom: 5px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-gutter: stable;
	overscroll-behavior-x: contain;
	min-width: 0;
	min-height: 2.15rem;
}

.esmira-vx-prj-linked__chip {
	appearance: none;
	flex: 0 0 auto;
	margin: 0;
	padding: 0.25rem 0.7rem;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: 999px;
	background: #fff;
	color: inherit;
	font: inherit;
	font-size: 0.82rem;
	cursor: pointer;
	white-space: nowrap;
}

.esmira-vx-prj-linked__chip.is-active {
	background: var(--ts-accent-1, #1e3a5f);
	border-color: var(--ts-accent-1, #1e3a5f);
	color: #fff;
}

.esmira-vx-prj-linked__search,
.esmira-vx-prj-linked__search:focus,
.esmira-vx-prj-linked__search:focus-visible,
.esmira-vx-prj-linked__search:hover,
.esmira-vx-prj-linked__search:disabled {
	flex: 0 0 auto;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	background: transparent !important;
	border: 0 none !important;
	outline: 0 none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0.35rem 0.1rem !important;
	font: inherit;
	line-height: 1.4;
	color: inherit;
}

.esmira-vx-prj-linked__search:not(:disabled) {
	border-bottom: 1px solid var(--ts-shade-4, #e2e8f0) !important;
}

.esmira-vx-prj-linked__search:disabled {
	border-bottom: 1px solid transparent !important;
	color: var(--ts-shade-3, #94a3b8);
	opacity: 1;
	cursor: default;
	pointer-events: none;
}

.esmira-vx-prj-linked__search::-webkit-search-decoration,
.esmira-vx-prj-linked__search::-webkit-search-cancel-button,
.esmira-vx-prj-linked__search::-webkit-search-results-button,
.esmira-vx-prj-linked__search::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.esmira-vx-prj-linked__search::placeholder {
	color: var(--ts-shade-3, #94a3b8);
}

.esmira-vx-prj-linked__results {
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 0;
	flex: 1 1 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	border: 0;
	border-radius: 0;
}

.esmira-vx-prj-linked__sentinel {
	list-style: none;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
}

.esmira-vx-prj-linked__msg {
	margin: 0;
	padding: 0.55rem 0.1rem;
	color: var(--ts-shade-2, #64748b);
	font-size: 0.85rem;
	list-style: none;
}

.esmira-vx-prj-linked__row {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
	padding: 0.5rem 0.1rem;
	border-bottom: 1px solid var(--ts-shade-4, #e2e8f0);
	cursor: pointer;
}

.esmira-vx-prj-linked__row:last-child {
	border-bottom: 0;
}

.esmira-vx-prj-linked__row:hover {
	background: rgba(30, 58, 95, 0.05);
}

.esmira-vx-prj-linked__thumb {
	width: 36px;
	height: 36px;
	border-radius: 6px;
	object-fit: cover;
	flex-shrink: 0;
	background: var(--ts-shade-5, #f1f5f9);
}

.esmira-vx-prj-linked__thumb.is-empty {
	display: inline-block;
}

.esmira-vx-prj-linked__row-text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.esmira-vx-prj-linked__row-title {
	font-weight: 560;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-linked__row-type {
	font-size: 0.78rem;
	color: var(--ts-shade-2, #64748b);
}

.esmira-vx-prj-linked__none {
	flex: 0 0 auto;
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0.45rem 0.1rem;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ts-shade-2, #64748b);
	font: inherit;
	cursor: pointer;
	text-align: left;
}

.esmira-vx-prj-linked__none:hover {
	text-decoration: underline;
}

.esmira-vx-prj-assignees {
	position: relative;
}

.esmira-vx-prj-assignees__trigger {
	display: flex;
	align-items: center;
	width: 100%;
	text-align: left;
}

.esmira-vx-prj-assignees__trigger .ts-filter-text {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-assignees__placeholder {
	color: var(--ts-shade-3, #94a3b8);
}

.esmira-vx-prj-assignees__value {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.esmira-vx-prj-assignees__value-main,
.esmira-vx-prj-assignees__value-sub {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-assignees__value-sub {
	font-size: 0.8em;
	font-weight: 400;
	color: var(--ts-shade-2, #64748b);
}

.esmira-vx-prj-assignees__trigger .ts-filter-text:has(.esmira-vx-prj-assignees__value-sub) {
	white-space: normal;
}

.esmira-vx-prj-assignees__panel {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	z-index: 40;
	background: #fff;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: var(--ts-radius, 10px);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	padding: 0.7rem;
	box-sizing: border-box;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.esmira-vx-prj-assignees__panel[hidden] {
	display: none !important;
}

.esmira-vx-prj-assignees__panel.is-ported {
	display: flex !important;
	margin: 0;
}

.esmira-vx-prj-assignees__panel.is-sheet {
	border-radius: 16px 16px 0 0;
	padding-bottom: calc(0.9rem + env(safe-area-inset-bottom, 0px));
}

.esmira-vx-prj-assignees__chips {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	min-width: 0;
}

.esmira-vx-prj-assignees__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0;
	padding: 0.15rem 0.4rem 0.15rem 0.2rem;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: 999px;
	background: var(--ts-shade-5, #f8fafc);
	color: inherit;
	font: inherit;
	font-size: 0.8rem;
	line-height: 1.2;
	cursor: pointer;
	max-width: 100%;
}

.esmira-vx-prj-assignees__chip:hover {
	border-color: var(--ts-accent-1, #1e3a5f);
}

.esmira-vx-prj-assignees__chip-thumb {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.esmira-vx-prj-assignees__chip-x {
	font-size: 1rem;
	line-height: 1;
	opacity: 0.65;
}

.esmira-vx-prj-assignees__search,
.esmira-vx-prj-assignees__search:focus,
.esmira-vx-prj-assignees__search:focus-visible,
.esmira-vx-prj-assignees__search:hover {
	flex: 0 0 auto;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	background: transparent !important;
	border: 0 none !important;
	border-bottom: 1px solid var(--ts-shade-4, #e2e8f0) !important;
	outline: 0 none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0.35rem 0.1rem !important;
	font: inherit;
	line-height: 1.4;
	color: inherit;
}

.esmira-vx-prj-assignees__search::-webkit-search-decoration,
.esmira-vx-prj-assignees__search::-webkit-search-cancel-button,
.esmira-vx-prj-assignees__search::-webkit-search-results-button,
.esmira-vx-prj-assignees__search::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.esmira-vx-prj-assignees__search::placeholder {
	color: var(--ts-shade-3, #94a3b8);
}

.esmira-vx-prj-assignees__results {
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 0;
	flex: 1 1 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	border: 0;
	border-radius: 0;
}

.esmira-vx-prj-assignees__sentinel {
	list-style: none;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
}

.esmira-vx-prj-assignees__msg {
	margin: 0;
	padding: 0.55rem 0.1rem;
	color: var(--ts-shade-2, #64748b);
	font-size: 0.85rem;
	list-style: none;
}

.esmira-vx-prj-assignees__row {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	padding: 0.45rem 0.1rem;
	cursor: pointer;
	border-radius: 6px;
}

.esmira-vx-prj-assignees__row:hover,
.esmira-vx-prj-assignees__row.is-selected {
	background: rgba(30, 58, 95, 0.06);
}

.esmira-vx-prj-assignees__thumb {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
	background: var(--ts-shade-5, #f1f5f9);
}

.esmira-vx-prj-assignees__thumb.is-empty {
	display: inline-block;
}

.esmira-vx-prj-assignees__row-text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	font-weight: 500;
}

.esmira-vx-prj-assignees__row-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-assignees__row-sub {
	font-size: 0.8em;
	font-weight: 400;
	color: var(--ts-shade-2, #64748b);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-assignees__none {
	flex: 0 0 auto;
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0.45rem 0.1rem;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ts-shade-2, #64748b);
	font: inherit;
	cursor: pointer;
	text-align: left;
}

.esmira-vx-prj-assignees__none:hover {
	text-decoration: underline;
}

.esmira-vx-prj__form--project .esmira-vx-prj__form-actions .ts-btn {
	width: auto;
	flex: 0 0 auto;
	box-sizing: border-box;
}

.esmira-vx-prj__form--project .ts-btn-2.form-btn {
	border-color: var(--ts-accent-1);
}

.esmira-vx-prj__form--project .ts-btn-2.form-btn:hover {
	border-color: var(--ts-accent-2);
}

.esmira-vx-prj-team {
	margin: 1rem 0;
}

.esmira-vx-prj-team--pool {
	margin: 0 0 1.25rem;
}

.esmira-vx-prj-dialog .esmira-vx-prj-team--pool {
	margin: 0;
}

.esmira-vx-prj-dialog [data-prj-team-results] {
	max-height: min(52vh, 420px);
	overflow: auto;
}

.esmira-vx-prj-team__title {
	margin: 0 0 0.35rem;
	font-size: 1.1rem;
}

.esmira-vx-prj-team__list,
.esmira-vx-prj-team__results {
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.esmira-vx-prj-team__row,
.esmira-vx-prj-team__result {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid var(--prj-border, #e5e7eb);
	cursor: default;
}

.esmira-vx-prj-team__result {
	cursor: pointer;
	padding-left: 0.55rem;
	padding-right: 0.55rem;
	border-radius: 8px;
	border-bottom-color: transparent;
}

.esmira-vx-prj-team__result:hover {
	background: rgba(30, 58, 95, 0.05);
}

.esmira-vx-prj-team__result.is-selected {
	background: rgba(30, 58, 95, 0.1);
	background: color-mix(in srgb, var(--ts-accent-1, #1e3a5f) 12%, transparent);
}

.esmira-vx-prj-team__result.is-selected::after {
	content: "";
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	margin-left: auto;
	background-color: var(--ts-accent-1, #1e3a5f);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.esmira-vx-prj-team__picked {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.65rem 0 0;
	padding: 0;
	list-style: none;
}

.esmira-vx-prj-team__picked[hidden] {
	display: none;
}

.esmira-vx-prj-team__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.2rem 0.45rem;
	border-radius: 999px;
	background: var(--ts-shade-5, #f1f5f9);
	font-size: 0.85rem;
}

.esmira-vx-prj-team__chip-x {
	border: 0;
	background: transparent;
	padding: 0 0.1rem;
	cursor: pointer;
	font: inherit;
	line-height: 1;
	color: var(--prj-muted, #6b7280);
}

.esmira-vx-prj-team__invite-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 0.75rem;
}

.esmira-vx-prj-team__invite-actions [data-prj-team-invite-submit],
.esmira-vx-prj-dialog__footer [data-prj-team-invite-submit] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	cursor: pointer;
}

[data-prj-team-invite-submit]:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.esmira-vx-prj-team--pool {
	margin-bottom: 1rem;
}

.esmira-vx-prj-team__result-text {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
}

.esmira-vx-prj-team__result-sub {
	font-size: 0.8em;
	color: var(--prj-muted, #6b7280);
}

.esmira-vx-prj-team__thumb {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	flex: 0 0 auto;
}

.esmira-vx-prj-team__thumb--empty {
	display: inline-block;
	background: #e5e7eb;
}

.esmira-vx-prj-team__meta {
	flex: 1 1 auto;
	min-width: 0;
}

.esmira-vx-prj-team__meta strong {
	display: block;
}

.esmira-vx-prj-team__status {
	font-size: 0.8rem;
	color: var(--prj-muted, #6b7280);
}

.esmira-vx-prj-team__remove {
	flex: 0 0 auto;
	background: none;
	border: 0;
	padding: 0;
	color: var(--prj-muted, #6b7280);
	cursor: pointer;
	text-decoration: underline;
	font: inherit;
}

.esmira-vx-prj-team__invite {
	margin-top: 1rem;
}

.esmira-vx-prj-team__search {
	display: block;
	width: 100%;
	margin-top: 0.25rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--prj-border, #e5e7eb);
	border-radius: 6px;
	font: inherit;
}

.esmira-vx-prj-team__results[hidden] {
	display: none;
}

.esmira-vx-prj-team__empty {
	padding: 0.5rem 0;
	color: var(--prj-muted, #6b7280);
}

.esmira-vx-prj-team__msg {
	margin: 0.5rem 0 0;
	font-size: 0.9rem;
}

.esmira-vx-prj-team__msg.is-ok {
	color: #166534;
}

.esmira-vx-prj-team__msg.is-err {
	color: #b91c1c;
}

.esmira-vx-prj-team-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.esmira-vx-prj-team-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
}

.esmira-vx-prj-team-modal__content {
	position: relative;
	z-index: 1;
	width: min(420px, calc(100% - 2rem));
	padding: 1.25rem 1.4rem;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18);
}

.esmira-vx-prj-team-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.esmira-vx-prj-team-modal__msg {
	margin-top: 0.75rem;
}

.esmira-vx-prj-team-modal__msg.is-ok {
	color: #166534;
}

.esmira-vx-prj-team-modal__msg.is-err {
	color: #b91c1c;
}

.esmira-vx-prj-team-feed__person {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.esmira-vx-prj__th-actions,
.esmira-vx-prj__td-actions {
	white-space: nowrap;
	width: 1%;
	vertical-align: middle;
}

.esmira-vx-prj-feed-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 0.5rem 0.9rem;
	width: max-content;
	max-width: none;
}

.esmira-vx-prj__td-actions--stack {
	white-space: normal;
}

.esmira-vx-prj-feed-actions--stack {
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: flex-start;
	width: auto;
	gap: 0.4rem;
}

.esmira-vx-prj-feed-action {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	flex: 0 0 auto;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.2;
	width: auto !important;
	max-width: none !important;
}

.esmira-vx-prj-feed-action:hover,
.esmira-vx-prj-feed-action:focus {
	color: inherit;
	text-decoration: none;
}

.esmira-vx-prj-feed-action:hover .esmira-vx-prj-feed-action__label,
.esmira-vx-prj-feed-action:focus .esmira-vx-prj-feed-action__label {
	text-decoration: underline;
}

.esmira-vx-prj-feed-action__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.esmira-vx-prj-feed-action__icon i,
.esmira-vx-prj-feed-action__icon svg {
	font-size: 1.1em;
	width: 1.1em;
	height: 1.1em;
}

.esmira-vx-prj__link--button {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
}

.esmira-vx-prj__th-team,
.esmira-vx-prj__td-team {
	text-align: center;
	width: 3.25rem;
	white-space: nowrap;
}

.esmira-vx-prj__team-view {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	cursor: pointer;
	vertical-align: middle;
}

.esmira-vx-prj__team-view:hover,
.esmira-vx-prj__team-view:focus-visible {
	background: rgba(0, 0, 0, 0.06);
	outline: none;
}

.esmira-vx-prj__team-view .las {
	font-size: 1.2rem;
	line-height: 1;
}

dialog.esmira-vx-prj-dialog.esmira-vx-prj-team-peek:not(.is-expanded) {
	width: min(var(--prj-team-dialog-width, 420px), calc(100vw - 2rem));
}

/* Auto-built peek (no Project Team Dialog widget) — same Dialog title size as form dialogs (18px). */
.esmira-vx-prj-team-peek--fallback .esmira-vx-prj-dialog__title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
}

.esmira-vx-prj-team-peek .esmira-vx-prj-dialog__body {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-bottom: 1.1rem;
}

.esmira-vx-prj-team-peek__search {
	margin: 0;
	width: 100%;
}

.esmira-vx-prj-team-peek__search .ts-input-icon {
	width: 100%;
	position: relative;
	display: flex;
	align-items: center;
}

.esmira-vx-prj-team-peek__search .ts-input-icon > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	pointer-events: none;
	--ts-icon-size: 20px;
	color: var(--ts-icon-color, var(--ts-shade-2, #64748b));
}

.esmira-vx-prj-team-peek__search .ts-input-icon > span svg {
	width: var(--ts-icon-size, 20px);
	height: var(--ts-icon-size, 20px);
	fill: currentColor;
}

.esmira-vx-prj-team-peek__search .inline-input {
	width: 100%;
	box-sizing: border-box;
}

.esmira-vx-prj-team-peek__list {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: min(52vh, 420px);
	overflow: auto;
	overscroll-behavior: contain;
}

.esmira-vx-prj-team-peek__item + .esmira-vx-prj-team-peek__item {
	border-top: 1px solid var(--prj-border, #e5e7eb);
}

.esmira-vx-prj-team-peek__person {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.65rem 0.15rem;
	color: inherit;
	text-decoration: none;
}

a.esmira-vx-prj-team-peek__person:hover {
	background: rgba(30, 58, 95, 0.04);
}

.esmira-vx-prj-team-peek__meta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 0.15rem;
}

.esmira-vx-prj-team-peek__meta strong {
	font-weight: 600;
}

.esmira-vx-prj-team-peek__empty {
	padding: 0.85rem 0.15rem;
	color: var(--prj-muted, #6b7280);
}

@media (max-width: 767px) {
	dialog.esmira-vx-prj-dialog.esmira-vx-prj-team-peek:not(.is-expanded) {
		margin: auto 0 0;
		width: 100%;
		max-width: 100%;
		max-height: 88vh;
		border-radius: 12px 12px 0 0;
	}

	.esmira-vx-prj-team-peek__list {
		max-height: min(58vh, 480px);
	}
}

/* Milestones editor (Project Form) */
.esmira-vx-prj-milestones__list {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.esmira-vx-prj-milestones__item {
	display: grid;
	grid-template-columns: 1fr minmax(7rem, 8.5rem) auto auto;
	gap: 0.5rem;
	align-items: center;
}

.esmira-vx-prj__badge--milestone {
	margin-right: 0.35rem;
}

@media (max-width: 767px) {
	.esmira-vx-prj-milestones__item {
		grid-template-columns: 1fr 1fr;
	}
}

/* Feed preview (eye) — same dialog chrome as Add Task; body as read-only form groups */
.esmira-vx-prj__table--compact th.esmira-vx-prj__col-preview,
.esmira-vx-prj__table--compact td.esmira-vx-prj__col-preview {
	width: 1%;
	text-align: center;
	white-space: nowrap;
}

.esmira-vx-prj__row-actions--stack {
	flex-direction: column;
	align-items: flex-end;
	gap: 0.25rem;
	white-space: normal;
}

.esmira-vx-prj__preview-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0.35rem;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	opacity: 0.75;
}

.esmira-vx-prj__preview-btn:hover,
.esmira-vx-prj__preview-btn:focus-visible {
	opacity: 1;
}

.esmira-vx-prj__preview-btn .las {
	font-size: 1.15rem;
	line-height: 1;
}

/* Default width matches dialog.esmira-vx-prj-dialog (640); Elementor may set --prj-feed-preview-width */
dialog.esmira-vx-prj-dialog.esmira-vx-prj-feed-preview:not(.is-expanded) {
	width: min(var(--prj-feed-preview-width, 640px), calc(100vw - 2rem));
}

/* Canonical eye-preview title (planner / task / milestone / team / kanban). Not Form Heading. */
dialog.esmira-vx-prj-dialog.esmira-vx-prj-feed-preview .esmira-vx-prj-dialog__title {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

.esmira-vx-prj-feed-preview .esmira-vx-prj-dialog__body {
	padding: 12px 15px;
	background: #fff;
}

.esmira-vx-prj-feed-preview__fields {
	display: flex;
	flex-direction: column;
	margin: 0;
	border: 0.5px solid var(--ts-shade-4, #e2e8f0);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.esmira-vx-prj-feed-preview__field {
	display: grid;
	grid-template-columns: minmax(7rem, 34%) 1fr;
	gap: 0.35rem 1rem;
	align-items: start;
	margin: 0;
	padding: 0.7rem 0.9rem;
	border-bottom: 0.5px solid var(--ts-shade-4, #e2e8f0);
	background: #fff;
}

.esmira-vx-prj-feed-preview__field:nth-child(even) {
	background: var(--ts-shade-5, #f1f5f9);
}

.esmira-vx-prj-feed-preview__field:last-child {
	border-bottom: 0;
}

.esmira-vx-prj-feed-preview__field > label {
	display: block;
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.01em;
	color: var(--ts-shade-2, #64748b);
}

.esmira-vx-prj-feed-preview__value {
	margin: 0;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--ts-shade-1, #0f172a);
	white-space: pre-wrap;
	word-break: break-word;
	min-height: 1.25em;
}

@media (max-width: 480px) {
	.esmira-vx-prj-feed-preview__field {
		grid-template-columns: 1fr;
		gap: 0.2rem;
	}
}

.esmira-vx-prj-feed-preview__actions .ts-btn.is-disabled,
.esmira-vx-prj-feed-preview__actions a.is-disabled {
	opacity: 0.45;
	pointer-events: none;
}

/* ============================================================
   Kanban board (Project Task Kanban Board)
   ============================================================ */

.esmira-vx-prj-kanban {
	--prj-kanban-col-w: 300px;
	--prj-kanban-gap: 16px;
	--prj-status-todo: #64748b;
	--prj-status-doing: #2563eb;
	--prj-status-done: #16a34a;
	--prj-status-blocked: #dc2626;
}

.esmira-vx-prj-kanban__scroll {
	width: 100%;
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 6px;
}

/* Columns row (flat board, or one row inside a lane) */
.esmira-vx-prj-kanban__cols {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(var(--prj-kanban-col-w), 1fr);
	gap: var(--prj-kanban-gap);
	align-items: start;
	min-width: min-content;
}

.esmira-vx-prj-kanban__col {
	display: flex;
	flex-direction: column;
	min-width: var(--prj-kanban-col-w);
	background: color-mix(in srgb, var(--prj-border) 22%, var(--prj-bg));
	border: 1px solid var(--prj-border);
	border-radius: 12px;
	--prj-col-accent: var(--prj-status-todo);
}

.esmira-vx-prj-kanban__col--todo { --prj-col-accent: var(--prj-status-todo); }
.esmira-vx-prj-kanban__col--doing { --prj-col-accent: var(--prj-status-doing); }
.esmira-vx-prj-kanban__col--done { --prj-col-accent: var(--prj-status-done); }
.esmira-vx-prj-kanban__col--blocked { --prj-col-accent: var(--prj-status-blocked); }

.esmira-vx-prj-kanban__col-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--prj-border);
	position: sticky;
	top: 0;
	background: inherit;
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	z-index: 1;
}

.esmira-vx-prj-kanban__col-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--prj-col-accent);
	flex: 0 0 auto;
}

.esmira-vx-prj-kanban__col-title {
	font-weight: 650;
	font-size: 0.92rem;
}

.esmira-vx-prj-kanban__col-count {
	margin-left: auto;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: color-mix(in srgb, var(--prj-col-accent) 18%, var(--prj-bg));
	color: color-mix(in srgb, var(--prj-col-accent) 80%, #000);
	font-size: 0.78rem;
	font-weight: 650;
}

.esmira-vx-prj-kanban__col-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 12px;
	min-height: 60px;
	flex: 1 1 auto;
}

.esmira-vx-prj-kanban__col-body.esmira-vx-prj-kanban__col-body--over,
.esmira-vx-prj-kanban__col-body:has(.esmira-vx-prj-kanban__card.is-dragging) {
	outline: 2px dashed color-mix(in srgb, var(--prj-col-accent) 55%, transparent);
	outline-offset: -6px;
	border-radius: 10px;
}

.esmira-vx-prj-kanban__col-empty {
	margin: 0;
	padding: 14px 8px;
	text-align: center;
	color: var(--prj-muted);
	font-size: 0.82rem;
	border: 1px dashed var(--prj-border);
	border-radius: 8px;
}

/* Card */
.esmira-vx-prj-kanban__card {
	background: var(--prj-bg, #fff);
	border: 1px solid var(--prj-border);
	border-left: 3px solid var(--prj-col-accent);
	border-radius: 10px;
	padding: 10px 12px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.esmira-vx-prj-kanban__card--todo { --prj-col-accent: var(--prj-status-todo, #64748b); }
.esmira-vx-prj-kanban__card--doing { --prj-col-accent: var(--prj-status-doing, #2563eb); }
.esmira-vx-prj-kanban__card--done { --prj-col-accent: var(--prj-status-done, #16a34a); }
.esmira-vx-prj-kanban__card--blocked { --prj-col-accent: var(--prj-status-blocked, #dc2626); }

.esmira-vx-prj-kanban__card.is-draggable {
	cursor: grab;
}

.esmira-vx-prj-kanban__card.is-dragging {
	opacity: 0.5;
	cursor: grabbing;
}

.esmira-vx-prj-kanban__card-top {
	display: flex;
	align-items: center;
	gap: 8px;
}

.esmira-vx-prj-kanban__prio {
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 2px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--prj-border) 40%, var(--prj-bg));
	color: var(--prj-muted);
}

.esmira-vx-prj-kanban__prio--high {
	background: color-mix(in srgb, var(--prj-status-blocked) 16%, var(--prj-bg));
	color: color-mix(in srgb, var(--prj-status-blocked) 85%, #000);
}

.esmira-vx-prj-kanban__prio--low {
	opacity: 0.75;
}

.esmira-vx-prj-kanban__card-actions {
	margin-left: auto;
	display: inline-flex;
	gap: 2px;
	opacity: 0;
	transition: opacity 0.12s ease;
}

.esmira-vx-prj-kanban__card:hover .esmira-vx-prj-kanban__card-actions,
.esmira-vx-prj-kanban__card:focus-within .esmira-vx-prj-kanban__card-actions {
	opacity: 1;
}

@media (max-width: 1024px) {
	.esmira-vx-prj-calendar__card-pop .esmira-vx-prj-kanban__card-actions,
	.esmira-vx-tm-popup .esmira-vx-prj-kanban__card-actions,
	.esmira-vx-tm-card-pop .esmira-vx-prj-kanban__card-actions {
		opacity: 1;
	}
}

html.elementor-device-tablet .esmira-vx-prj-calendar__card-pop .esmira-vx-prj-kanban__card-actions,
html.elementor-device-mobile .esmira-vx-prj-calendar__card-pop .esmira-vx-prj-kanban__card-actions,
body.elementor-device-tablet .esmira-vx-prj-calendar__card-pop .esmira-vx-prj-kanban__card-actions,
body.elementor-device-mobile .esmira-vx-prj-calendar__card-pop .esmira-vx-prj-kanban__card-actions,
html.elementor-device-tablet .esmira-vx-tm-popup .esmira-vx-prj-kanban__card-actions,
html.elementor-device-mobile .esmira-vx-tm-popup .esmira-vx-prj-kanban__card-actions,
body.elementor-device-tablet .esmira-vx-tm-popup .esmira-vx-prj-kanban__card-actions,
body.elementor-device-mobile .esmira-vx-tm-popup .esmira-vx-prj-kanban__card-actions,
html.elementor-device-tablet .esmira-vx-tm-card-pop .esmira-vx-prj-kanban__card-actions,
html.elementor-device-mobile .esmira-vx-tm-card-pop .esmira-vx-prj-kanban__card-actions,
body.elementor-device-tablet .esmira-vx-tm-card-pop .esmira-vx-prj-kanban__card-actions,
body.elementor-device-mobile .esmira-vx-tm-card-pop .esmira-vx-prj-kanban__card-actions {
	opacity: 1;
}

.esmira-vx-prj-kanban__card-title {
	font-weight: 600;
	font-size: 0.95rem;
	line-height: 1.35;
}

.esmira-vx-prj-kanban__card-title a {
	color: inherit;
	text-decoration: none;
}

.esmira-vx-prj-kanban__card-title a:hover {
	text-decoration: underline;
}

.esmira-vx-prj-kanban__card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.esmira-vx-prj-kanban__card-foot {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 2px;
}

.esmira-vx-prj-kanban__due {
	font-size: 0.78rem;
	color: var(--prj-muted);
}

.esmira-vx-prj-kanban__due.is-overdue {
	color: var(--prj-danger);
	font-weight: 650;
}

.esmira-vx-prj-kanban__avatars {
	margin-left: auto;
	display: inline-flex;
	flex-direction: row-reverse;
}

.esmira-vx-prj-kanban__avatar {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--prj-bg);
	margin-left: -8px;
	background: color-mix(in srgb, var(--prj-border) 55%, var(--prj-bg));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.66rem;
	font-weight: 700;
	color: var(--prj-muted);
	flex: 0 0 auto;
}

.esmira-vx-prj-kanban__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.esmira-vx-prj-kanban__avatar--more {
	background: var(--prj-accent);
	color: #fff;
}

/* Swimlanes */
.esmira-vx-prj-kanban__lane {
	margin-bottom: 18px;
	border-left: 3px solid var(--prj-lane-color, transparent);
	padding-left: 10px;
}

.esmira-vx-prj-kanban__lane-head {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 4px;
	font-weight: 650;
	color: inherit;
}

.esmira-vx-prj-kanban__lane-caret {
	width: 0;
	height: 0;
	border-left: 5px solid currentColor;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	transform: rotate(90deg);
	transition: transform 0.15s ease;
	opacity: 0.6;
}

.esmira-vx-prj-kanban__lane.is-collapsed .esmira-vx-prj-kanban__lane-caret {
	transform: rotate(0deg);
}

.esmira-vx-prj-kanban__lane-count {
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: color-mix(in srgb, var(--prj-border) 45%, var(--prj-bg));
	font-size: 0.76rem;
}

.esmira-vx-prj-kanban__lane.is-collapsed .esmira-vx-prj-kanban__lane-body {
	display: none;
}

/* Compact on small screens: columns become narrower but keep horizontal scroll */
@media (max-width: 767px) {
	.esmira-vx-prj-kanban {
		--prj-kanban-col-w: 82vw;
	}
}

/* View tabs (Table / Kanban / …) — first child of the form (follow Filters toggle), or cloned into the View Switcher host. */
.esmira-vx-view-hidden {
	display: none !important;
}

.esmira-vx-psf-view-host {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 0;
}

.esmira-vx-psf-view-host:has(.esmira-vx-widget-hint) {
	min-height: 40px;
}

body.elementor-editor-active .esmira-vx-psf-view-host .esmira-vx-widget-hint,
body.elementor-editor-preview .esmira-vx-psf-view-host .esmira-vx-widget-hint {
	pointer-events: none;
}

.esmira-vx-psf-views.esmira-vx-psf-viewtabs {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	position: static;
	width: auto;
	margin: 0;
	pointer-events: auto;
}

.esmira-vx-psf-views.esmira-vx-psf-viewselect {
	position: static;
	width: auto;
	max-width: 100%;
	margin: 0;
	pointer-events: auto;
}

.esmira-vx-psf .esmira-vx-psf-views.esmira-vx-psf-viewselect.ts-inline-filter,
.esmira-vx-psf-form > .esmira-vx-psf-views.esmira-vx-psf-viewselect {
	flex: 0 1 auto !important;
	min-width: 12em;
	width: auto !important;
	max-width: 100%;
	order: -1;
}

.esmira-vx-psf-viewselect .esmira-fe-popup-picker {
	width: auto;
	min-width: 12em;
	max-width: 100%;
}

.esmira-vx-psf-viewselect .esmira-fe-popup-picker__trigger.ts-filter {
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 0 16px;
}

.esmira-vx-psf-form > .esmira-vx-psf-views.esmira-vx-psf-viewtabs {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	order: -1;
}

.esmira-vx-psf-view-host .esmira-vx-psf-viewselect.ts-form-group {
	padding: 0;
	flex: 0 1 auto;
	width: auto;
	min-width: 12em;
	max-width: 100%;
}

.esmira-vx-psf-toggle-popup .esmira-vx-psf-views {
	flex: 0 0 auto !important;
	width: 100%;
	max-width: 100%;
	padding: 0 0 15px 0;
	box-sizing: border-box;
}

.esmira-vx-psf-views .esmira-vx-psf-views__btn.ts-btn,
a.esmira-vx-psf-views__btn.ts-btn[data-esmira-vx-view] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	cursor: pointer;
	background: #fff;
	pointer-events: all;
	white-space: nowrap;
	box-sizing: border-box;
	min-height: 0;
	min-width: 0;
	height: auto;
	line-height: 1;
}

.esmira-vx-psf-views__btn svg,
.esmira-vx-psf-views__btn img {
	display: block;
	width: var(--ts-icon-size, 1em) !important;
	height: var(--ts-icon-size, 1em) !important;
	flex: 0 0 auto;
}

.esmira-vx-psf-views__btn i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: var(--ts-icon-size, 1em);
}

.esmira-vx-psf-views__label {
	display: inline-block;
	line-height: inherit;
}

.esmira-vx-prj-calendar {
	--prj-status-todo: #64748b;
	--prj-status-doing: #2563eb;
	--prj-status-done: #16a34a;
	--prj-status-blocked: #dc2626;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.esmira-vx-prj-calendar .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;
}

.esmira-vx-prj-calendar__header {
	display: flex;
	align-items: center;
	gap: 12px;
}

.esmira-vx-prj-calendar__timeline {
	width: 100%;
	min-width: 0;
}

.esmira-vx-prj-calendar__track {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px 0 8px;
	cursor: grab;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: var(--ts-scroll-color, var(--ts-shade-5)) transparent;
}

.esmira-vx-prj-calendar__track.is-dragging {
	cursor: grabbing;
	user-select: none;
}

.esmira-vx-prj-calendar__timeline-empty {
	display: inline-flex;
	align-items: center;
	padding: 8px 4px;
	font-size: 0.8rem;
	color: var(--prj-muted);
}

.esmira-vx-prj-calendar__bullet {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	min-width: 52px;
	padding: 8px 10px;
	border: 1px solid var(--prj-border);
	border-radius: 12px;
	background: var(--prj-bg, #fff);
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.esmira-vx-prj-calendar__bullet-wd,
.esmira-vx-prj-calendar__bullet-mo {
	font-size: 0.65rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--prj-muted);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.esmira-vx-prj-calendar__bullet-num {
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.1;
}

.esmira-vx-prj-calendar__bullet .ts-filter-count {
	position: absolute;
	top: -5px;
	right: -5px;
	left: auto;
	margin: 0;
	z-index: 1;
	pointer-events: none;
}

.esmira-vx-prj-calendar__bullet.is-selected {
	box-shadow: none;
}

.esmira-vx-prj-calendar__bullet.is-today:not(.is-selected) {
	border-color: currentColor;
}

.esmira-vx-prj-calendar__toolbar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	column-gap: 16px;
	row-gap: 8px;
	width: 100%;
	min-width: 0;
}

.esmira-vx-prj-calendar__views {
	justify-self: start;
	min-width: 0;
}

.esmira-vx-prj-calendar__pager {
	justify-self: center;
}

.esmira-vx-prj-calendar__end {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	justify-self: end;
	min-width: 0;
}

.esmira-vx-prj-calendar__pager,
.esmira-vx-prj-calendar__views,
.esmira-vx-prj-calendar__mapbtn,
.esmira-vx-prj-calendar__tools {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
	min-width: 0;
}

@media (max-width: 767px) {
	.esmira-vx-prj-calendar__toolbar {
		grid-template-columns: 1fr auto;
	}

	.esmira-vx-prj-calendar__views {
		grid-column: 1;
		grid-row: 1;
	}

	.esmira-vx-prj-calendar__end {
		grid-column: 2;
		grid-row: 1;
	}

	.esmira-vx-prj-calendar__pager {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.esmira-vx-prj-calendar__date {
		min-width: 0;
		max-width: 11rem;
	}

	.esmira-vx-prj-calendar__toolbar [data-prj-calendar-map-toggle] .esmira-vx-prj-calendar__mapface-label {
		display: none;
	}
}

html.elementor-device-mobile .esmira-vx-prj-calendar__toolbar,
body.elementor-device-mobile .esmira-vx-prj-calendar__toolbar {
	grid-template-columns: 1fr auto;
}

html.elementor-device-mobile .esmira-vx-prj-calendar__views,
body.elementor-device-mobile .esmira-vx-prj-calendar__views {
	grid-column: 1;
	grid-row: 1;
}

html.elementor-device-mobile .esmira-vx-prj-calendar__end,
body.elementor-device-mobile .esmira-vx-prj-calendar__end {
	grid-column: 2;
	grid-row: 1;
}

html.elementor-device-mobile .esmira-vx-prj-calendar__pager,
body.elementor-device-mobile .esmira-vx-prj-calendar__pager {
	grid-column: 1 / -1;
	grid-row: 2;
}

html.elementor-device-mobile .esmira-vx-prj-calendar__date,
body.elementor-device-mobile .esmira-vx-prj-calendar__date {
	min-width: 0;
	max-width: 11rem;
}

html.elementor-device-mobile .esmira-vx-prj-calendar__toolbar [data-prj-calendar-map-toggle] .esmira-vx-prj-calendar__mapface-label,
body.elementor-device-mobile .esmira-vx-prj-calendar__toolbar [data-prj-calendar-map-toggle] .esmira-vx-prj-calendar__mapface-label {
	display: none;
}

/* Voxel .ts-btn is width:100% (form row). Toolbar is a compact row. */
.esmira-vx-prj-calendar__toolbar .ts-btn {
	width: auto;
	flex: 0 0 auto;
	white-space: nowrap;
}

.esmira-vx-prj-calendar__toolbar .ts-icon-btn {
	flex: 0 0 auto;
}

/* Voxel kit does not set pointer on .ts-btn / .ts-filter (div trigger). */
.esmira-vx-prj-calendar__toolbar .ts-btn,
.esmira-vx-prj-calendar__toolbar .ts-icon-btn,
.esmira-vx-prj-calendar__toolbar .ts-filter {
	cursor: pointer;
}

.esmira-vx-prj-calendar__date {
	position: relative;
	flex: 0 0 auto;
	width: auto;
	min-width: 11rem;
	max-width: 16rem;
}

.esmira-vx-prj-calendar__date.ts-form {
	width: auto;
	display: block;
}

.esmira-vx-prj-calendar__viewselect.ts-form {
	width: auto;
	display: block;
	flex: 0 0 auto;
}

.esmira-vx-prj-calendar__viewselect > .ts-form-group {
	padding: 0;
	margin: 0;
	width: auto;
}

.esmira-vx-prj-calendar__viewselect .esmira-fe-popup-picker {
	width: auto;
	min-width: 8em;
	max-width: 100%;
}

.esmira-vx-prj-calendar__viewselect .esmira-fe-popup-picker__trigger.ts-filter {
	box-sizing: border-box;
	width: auto;
	min-width: 8em;
	height: 44px;
	padding: 0 16px;
}

.esmira-vx-prj-calendar__date > .ts-form-group {
	padding: 0;
	margin: 0;
	width: auto;
}

.esmira-vx-prj-calendar__date .ts-filter {
	width: auto;
	min-width: 11rem;
}

.esmira-vx-prj-calendar__toolbar [data-prj-calendar-map-toggle].ts-btn i,
.esmira-vx-prj-calendar__toolbar [data-prj-calendar-map-toggle].ts-btn svg {
	margin-right: 0;
}

.esmira-vx-prj-calendar__mapface {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.esmira-vx-prj-calendar__mapface[hidden] {
	display: none !important;
}

.esmira-vx-prj-calendar__toolbar [data-prj-calendar-map-toggle]:disabled {
	opacity: 0.4 !important;
	cursor: not-allowed !important;
}

.esmira-vx-prj-calendar__mapbtn:has([disabled]) {
	cursor: not-allowed;
}

.esmira-vx-prj-calendar__scroll {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	min-width: 0;
}

.esmira-vx-prj-calendar__stage {
	width: 100%;
	min-width: 0;
}

.esmira-vx-prj-calendar__days--week {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
}

.esmira-vx-prj-calendar__day {
	min-width: 0;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	background: var(--prj-bg, #fff);
	min-height: 140px;
	display: flex;
	flex-direction: column;
}

.esmira-vx-prj-calendar__day.is-selected {
	box-shadow: inset 0 0 0 2px currentColor;
}

.esmira-vx-prj-calendar__day-head,
.esmira-vx-prj-calendar__uncat-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 10px;
	border-bottom: 1px solid var(--prj-border);
	font-weight: 600;
	font-size: 0.8rem;
}

.esmira-vx-prj-calendar__day-count {
	font-weight: 500;
	font-size: 0.7rem;
	color: var(--prj-muted);
}

.esmira-vx-prj-calendar__day-head-text {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.esmira-vx-prj-calendar__day-wd {
	font-size: 0.65rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--prj-muted);
}

.esmira-vx-prj-calendar__agenda {
	--prj-hour-h: 48px;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	overflow: hidden;
}

.esmira-vx-prj-calendar__agenda-head {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	align-items: stretch;
	padding: 0;
	border-bottom: 1px solid var(--prj-border);
	font-weight: 600;
	font-size: 0.8rem;
}

.esmira-vx-prj-calendar__allday {
	display: flex;
	align-items: stretch;
	gap: 8px;
	padding: 8px 10px;
	border-bottom: 1px solid var(--prj-border);
	min-height: 44px;
}

.esmira-vx-prj-calendar__allday-label {
	flex: 0 0 3.5rem;
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--prj-muted);
	display: flex;
	align-items: center;
}

.esmira-vx-prj-calendar__allday-rail {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: flex-start;
	min-height: 32px;
}

.esmira-vx-prj-calendar__allday-rail .esmira-vx-prj-calendar__item {
	flex: 0 1 160px;
}

.esmira-vx-prj-calendar__timed {
	display: flex;
	align-items: stretch;
	max-height: min(70vh, 720px);
	overflow-y: auto;
	min-height: 0;
}

.esmira-vx-prj-calendar__hours {
	flex: 0 0 3.5rem;
	position: relative;
}

.esmira-vx-prj-calendar__hour {
	height: var(--prj-hour-h);
	box-sizing: border-box;
	padding: 0 6px;
	font-size: 0.65rem;
	color: var(--prj-muted);
	line-height: 1;
}

.esmira-vx-prj-calendar__hour span {
	display: block;
	transform: translateY(-0.35em);
}

.esmira-vx-prj-calendar__hour:first-child span {
	transform: none;
}

.esmira-vx-prj-calendar__canvas {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	height: calc(24 * var(--prj-hour-h));
}

.esmira-vx-prj-calendar__week-scroll {
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.esmira-vx-prj-calendar__agenda--week {
	display: grid;
	grid-template-columns: 3.5rem repeat(7, minmax(7.5rem, 1fr)) var(--prj-week-sb, 0px);
	grid-template-rows: auto auto minmax(0, 1fr);
	column-gap: 0;
	width: 100%;
	min-width: calc(3.5rem + 7 * 7.5rem);
	overflow-x: hidden;
	overflow-y: hidden;
}

.esmira-vx-prj-calendar__week-head,
.esmira-vx-prj-calendar__allday--week,
.esmira-vx-prj-calendar__timed--week {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 1 / -1;
	min-width: 0;
}

.esmira-vx-prj-calendar__week-head {
	border-bottom: 1px solid var(--prj-border);
}

.esmira-vx-prj-calendar__week-gutter {
	min-width: 0;
}

.esmira-vx-prj-calendar__week-col-head {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 8px 4px;
	text-align: center;
	border-left: 1px solid var(--prj-border);
	min-width: 0;
	box-sizing: border-box;
	color: var(--ts-shade-1, inherit);
}

.esmira-vx-prj-calendar__week-col-head.is-today {
	font-weight: 700;
}

.esmira-vx-prj-calendar__week-col-head.is-selected {
	box-shadow: inset 0 -2px 0 currentColor;
}

.esmira-vx-prj-calendar__week-col-date {
	color: inherit;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
}

.esmira-vx-prj-calendar__allday--week {
	display: grid;
	gap: 0;
	padding: 0;
	align-items: stretch;
	grid-template-rows: repeat(var(--prj-allday-lanes, 1), minmax(28px, auto));
}

.esmira-vx-prj-calendar__allday--week .esmira-vx-prj-calendar__allday-label,
.esmira-vx-prj-calendar__allday--week .esmira-vx-prj-calendar__allday-rail {
	grid-row: 1 / -1;
}

.esmira-vx-prj-calendar__allday--week .esmira-vx-prj-calendar__allday-label {
	flex: none;
	padding: 0 6px;
	box-sizing: border-box;
}

.esmira-vx-prj-calendar__allday--week .esmira-vx-prj-calendar__allday-rail {
	flex: none;
	border-left: 1px solid var(--prj-border);
	padding: 4px;
	min-height: 36px;
	align-content: flex-start;
	z-index: 0;
}

.esmira-vx-prj-calendar__allday--week .esmira-vx-prj-calendar__item {
	flex: 1 1 100%;
	min-width: 0;
}

.esmira-vx-prj-calendar__span {
	position: relative;
	min-width: 0;
	z-index: 1;
	align-self: stretch;
	margin: 2px 3px;
	display: flex;
}

.esmira-vx-prj-calendar__span .esmira-vx-prj-calendar__item {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.esmira-vx-prj-calendar__span.is-clip-start .esmira-vx-prj-calendar__item {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.esmira-vx-prj-calendar__span.is-clip-end .esmira-vx-prj-calendar__item {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.esmira-vx-prj-calendar__timed--week {
	display: grid;
	align-items: stretch;
	max-height: min(70vh, 720px);
	overflow-x: hidden;
	overflow-y: auto;
	min-height: 0;
}

.esmira-vx-prj-calendar__timed--week .esmira-vx-prj-calendar__hours {
	flex: none;
}

.esmira-vx-prj-calendar__timed--week .esmira-vx-prj-calendar__canvas {
	flex: none;
	border-left: 1px solid var(--prj-border);
}

.esmira-vx-prj-calendar__slots {
	position: absolute;
	inset: 0;
}

.esmira-vx-prj-calendar__slot {
	height: calc(var(--prj-hour-h) / 2);
	box-sizing: border-box;
	border-top: 1px dotted color-mix(in srgb, var(--prj-border) 70%, transparent);
}

.esmira-vx-prj-calendar__slot.is-hour {
	border-top: 1px solid var(--prj-border);
}

.esmira-vx-prj-calendar__now {
	position: absolute;
	left: 0;
	right: 0;
	height: 0;
	border-top: 2px solid #e53935;
	z-index: 2;
	pointer-events: none;
}

.esmira-vx-prj-calendar__now::before {
	content: "";
	position: absolute;
	left: -5px;
	top: -5px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e53935;
}

.esmira-vx-prj-calendar__event {
	position: absolute;
	z-index: 1;
	box-sizing: border-box;
	min-height: 16px;
	overflow: hidden;
}

.esmira-vx-prj-calendar__event .esmira-vx-prj-calendar__item {
	height: 100%;
	padding: 2px 6px;
	cursor: pointer;
	box-sizing: border-box;
	align-items: flex-start;
}

.esmira-vx-prj-calendar__event .esmira-vx-prj-calendar__item.is-draggable,
.esmira-vx-prj-calendar__event .esmira-vx-prj-calendar__item.is-timed {
	cursor: grab;
}

.esmira-vx-prj-calendar__event.is-span-start {
	border-radius: 4px 4px 0 0;
}

.esmira-vx-prj-calendar__event.is-span-mid {
	border-radius: 0;
}

.esmira-vx-prj-calendar__event.is-span-end {
	border-radius: 0 0 4px 4px;
}

.esmira-vx-prj-calendar__event.is-span-start .esmira-vx-prj-calendar__item,
.esmira-vx-prj-calendar__event.is-span-mid .esmira-vx-prj-calendar__item,
.esmira-vx-prj-calendar__event.is-span-end .esmira-vx-prj-calendar__item {
	border-radius: inherit;
}

.esmira-vx-prj-calendar__event.is-span-mid .esmira-vx-prj-calendar__item,
.esmira-vx-prj-calendar__event.is-span-end .esmira-vx-prj-calendar__item {
	cursor: pointer;
}

.esmira-vx-prj-calendar__resize {
	position: absolute;
	left: 0;
	right: 0;
	height: 8px;
	z-index: 2;
	cursor: ns-resize;
}

.esmira-vx-prj-calendar__resize--n {
	top: 0;
}

.esmira-vx-prj-calendar__resize--s {
	bottom: 0;
}

.esmira-vx-prj-calendar__span .esmira-vx-prj-calendar__resize--w,
.esmira-vx-prj-calendar__span .esmira-vx-prj-calendar__resize--e {
	top: 0;
	bottom: 0;
	left: auto;
	right: auto;
	width: 10px;
	height: auto;
	cursor: ew-resize;
}

.esmira-vx-prj-calendar__span .esmira-vx-prj-calendar__resize--w {
	left: 0;
}

.esmira-vx-prj-calendar__span .esmira-vx-prj-calendar__resize--e {
	right: 0;
}

.esmira-vx-prj-calendar__event:not(:has([data-can-edit="1"])) .esmira-vx-prj-calendar__resize {
	display: none;
}

.esmira-vx-prj-calendar__event.is-moving,
.esmira-vx-prj-calendar__event.is-resizing,
.esmira-vx-prj-calendar__span.is-resizing,
.esmira-vx-prj-calendar__span.is-moving {
	z-index: 3;
	opacity: 0.9;
}

.esmira-vx-prj-calendar__event.is-resize-ghost,
.esmira-vx-prj-calendar__span.is-resize-ghost {
	z-index: 3;
	opacity: 0.9;
	pointer-events: none;
}

.esmira-vx-prj-calendar__event.is-resize-ghost *,
.esmira-vx-prj-calendar__span.is-resize-ghost * {
	pointer-events: none !important;
}

.esmira-vx-prj-calendar__event.is-resize-pending,
.esmira-vx-prj-calendar__span.is-resize-pending {
	z-index: 3;
	pointer-events: none;
}

.esmira-vx-prj-calendar__event.is-resize-pending *,
.esmira-vx-prj-calendar__span.is-resize-pending * {
	pointer-events: none !important;
}

.esmira-vx-prj-calendar__uncat-lead {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex: 0 1 auto;
}

.esmira-vx-prj-calendar__uncat-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-align: center;
	line-height: 0;
	font-weight: 500;
	font-size: 0.7rem;
	color: var(--prj-muted);
	flex-shrink: 0;
}

.esmira-vx-prj-calendar__uncat-count-n {
	display: block;
	line-height: 1;
	height: 1em;
	text-align: center;
	font-variant-numeric: tabular-nums lining-nums;
	box-sizing: border-box;
	/* Center the glyph ink, not the font em-box (ascent + unused descent). */
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@supports (height: 1cap) {
	.esmira-vx-prj-calendar__uncat-count-n {
		height: 1cap;
		line-height: 1cap;
	}
}

.esmira-vx-prj-calendar__uncat-hint {
	font-weight: 400;
	font-size: 0.7rem;
	color: var(--prj-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
	flex: 1 1 auto;
	text-align: right;
}

.esmira-vx-prj-calendar__drop {
	flex: 1;
	min-height: 64px;
	min-width: 0;
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.esmira-vx-prj-calendar__empty {
	margin: 0;
	padding: 12px 4px;
	font-size: 0.8rem;
	color: var(--prj-muted);
}

.esmira-vx-prj-calendar__month {
	min-width: 0;
	box-sizing: border-box;
}

.esmira-vx-prj-calendar__month-weekdays,
.esmira-vx-prj-calendar__month-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 6px;
}

.esmira-vx-prj-calendar__month-grid {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.esmira-vx-prj-calendar__month-week {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 6px;
	position: relative;
	overflow: visible;
}

.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell {
	grid-row: 1;
}

.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(1) { grid-column: 1; }
.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(2) { grid-column: 2; }
.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(3) { grid-column: 3; }
.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(4) { grid-column: 4; }
.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(5) { grid-column: 5; }
.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(6) { grid-column: 6; }
.esmira-vx-prj-calendar__month-week .esmira-vx-prj-calendar__month-cell:nth-child(7) { grid-column: 7; }

.esmira-vx-prj-calendar__month-span-layer {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	grid-template-rows: 2.5rem repeat(var(--prj-month-lanes, 0), minmax(20px, auto));
	pointer-events: none;
	z-index: 2;
	min-height: 0;
	box-sizing: border-box;
	column-gap: 6px;
	row-gap: 2px;
}

.esmira-vx-prj-calendar__month-span-layer .esmira-vx-prj-calendar__span {
	pointer-events: auto;
	margin: 0 2px;
	align-self: stretch;
}

.esmira-vx-prj-calendar__month-weekdays {
	margin-bottom: 6px;
	align-items: stretch;
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--ts-shade-1, inherit);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.esmira-vx-prj-calendar__month-wd {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 10px 4px;
	box-sizing: border-box;
}

.esmira-vx-prj-calendar__month-cell {
	min-width: 0;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--prj-border);
	border-radius: 6px;
	background: var(--prj-bg, #fff);
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 8px;
	color: var(--ts-shade-1, inherit);
	overflow: hidden;
	box-sizing: border-box;
}

.esmira-vx-prj-calendar__month-num {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 0 0 4px;
	text-align: center;
	border-bottom: 1px solid var(--prj-border);
	color: inherit;
	flex: 0 0 auto;
}

.esmira-vx-prj-calendar__month-date {
	color: inherit;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.esmira-vx-prj-calendar__month-cell.is-today .esmira-vx-prj-calendar__month-date {
	font-weight: 700;
}

.esmira-vx-prj-calendar__month-cell.is-other-month .esmira-vx-prj-calendar__month-date,
.esmira-vx-prj-calendar__month-cell.is-other-month .esmira-vx-prj-calendar__day-count {
	color: var(--prj-muted);
}

.esmira-vx-prj-calendar__month-cell .esmira-vx-prj-calendar__drop {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 0;
	gap: 2px;
}

.esmira-vx-prj-calendar__uncat {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
	background: var(--prj-bg, #fff);
	box-sizing: border-box;
}

.esmira-vx-prj-calendar__uncat-rail {
	display: flex;
	flex-wrap: nowrap;
	flex: 1 1 auto;
	gap: 8px;
	overflow-x: auto;
	padding: 8px 10px 12px;
	min-height: 72px;
	-webkit-overflow-scrolling: touch;
}

.esmira-vx-prj-calendar__uncat-rail .esmira-vx-prj-calendar__item {
	flex: 0 0 auto;
	width: auto;
	max-width: 200px;
}

.esmira-vx-prj-calendar__uncat-rail .esmira-vx-prj-calendar__empty {
	flex: 1 1 auto;
}

.esmira-vx-prj-calendar__item {
	display: flex;
	align-items: center;
	gap: 6px;
	border: 1px solid var(--prj-border);
	border-left: 3px solid var(--prj-status-todo);
	border-radius: 4px;
	padding: 2px 6px;
	background: var(--prj-bg, #fff);
	min-width: 0;
	min-height: 22px;
	cursor: pointer;
	box-sizing: border-box;
}

.esmira-vx-prj-calendar__item[data-task-status="doing"] {
	border-left-color: var(--prj-status-doing);
}

.esmira-vx-prj-calendar__item[data-task-status="done"] {
	border-left-color: var(--prj-status-done);
}

.esmira-vx-prj-calendar__item[data-task-status="blocked"] {
	border-left-color: var(--prj-status-blocked);
}

.esmira-vx-prj-calendar__item.is-draggable {
	cursor: grab;
}

.esmira-vx-prj-calendar__item.is-dragging {
	opacity: 0.55;
}

.esmira-vx-prj-calendar__item-title {
	font-weight: 600;
	font-size: 0.75rem;
	line-height: 1.25;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: var(--ts-shade-1, #1a1a1a);
}

.esmira-vx-prj-calendar__item template {
	display: none;
}

.esmira-vx-prj-calendar__card-pop {
	--prj-border: rgba(0, 0, 0, 0.12);
	--prj-muted: rgba(0, 0, 0, 0.55);
	--prj-bg: #fff;
	--prj-status-todo: #64748b;
	--prj-status-doing: #2563eb;
	--prj-status-done: #16a34a;
	--prj-status-blocked: #dc2626;
	position: fixed !important;
	z-index: 40;
	width: min(280px, calc(100vw - 24px));
	box-sizing: border-box;
	color: var(--ts-shade-1, #1a1a1a);
}

.esmira-vx-prj-calendar__card-pop [data-prj-calendar-card-inner] {
	filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.18));
}

.esmira-vx-prj-calendar__card-pop[hidden] {
	display: none !important;
}

.esmira-vx-prj-calendar__editor-pop-host {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding-left: 12px;
	padding-right: 12px;
}

.esmira-vx-prj-calendar__card-pop.is-editor-preview {
	position: relative !important;
	left: auto;
	top: auto;
	z-index: 2;
	margin: 0 0 12px;
}

.esmira-vx-prj-calendar__card-pop.is-editor-preview [data-prj-calendar-card-inner] {
	filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.12));
}

.esmira-vx-prj-calendar__card-pop.is-editor-preview .esmira-vx-prj-kanban__card-actions {
	display: none;
}

.esmira-vx-prj-calendar__card-pop.is-editor-preview a {
	pointer-events: none;
}

.esmira-vx-prj-calendar__card-pop-empty {
	margin: 0;
	padding: 16px;
	background: var(--prj-bg, #fff);
	border: 1px dashed var(--prj-border, rgba(0, 0, 0, 0.12));
	border-radius: 8px;
	color: var(--prj-muted, rgba(0, 0, 0, 0.55));
	font-size: 13px;
}

.esmira-vx-prj-calendar__card-pop .esmira-vx-prj-kanban__card,
.esmira-vx-tm-popup .esmira-vx-prj-kanban__card {
	margin: 0;
	cursor: default;
	background: var(--prj-bg, #fff);
	color: inherit;
}

.esmira-vx-tm-popup {
	min-width: 220px;
	max-width: min(320px, 90vw);
}

.esmira-vx-tm .gm-style-iw-d {
	overflow: auto !important;
}

/* Voxel puts HTML pins on overlayImage (not overlayMouseTarget). Force a hit target. */
.esmira-vx-tm .marker-wrapper {
	pointer-events: auto;
	cursor: pointer;
	z-index: 20;
}

.esmira-vx-tm .marker-wrapper .map-marker {
	pointer-events: auto;
}

.esmira-vx-tm [data-prj-task-map-marker] {
	display: none !important;
}

.esmira-vx-prj-calendar__map {
	min-height: 240px;
	border: 1px solid var(--prj-border);
	border-radius: 8px;
}

.esmira-vx-prj-calendar__map[hidden] {
	display: none !important;
}

.esmira-vx-prj-calendar.is-map-open .esmira-vx-prj-calendar__stage,
.esmira-vx-prj-calendar.is-map-open .esmira-vx-prj-calendar__uncat {
	display: none !important;
}

.esmira-vx-prj-calendar.is-map-open .esmira-vx-prj-calendar__map:not([hidden]) {
	display: block;
	min-height: 480px;
	height: min(70vh, 640px);
}

.esmira-vx-tm .ts-map {
	min-height: 200px;
}

.esmira-vx-tm-empty {
	padding: 12px;
	color: var(--ts-shade-2, #666);
}

/* Task Form panel is ported into <dialog> on body — do not require .esmira-vx-prj. */
[data-prj-task-location] {
	display: grid;
	gap: 25px;
	min-width: 0;
	max-width: 100%;
}

[data-prj-task-location] .ts-input-icon {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
}

[data-prj-task-location] .ts-input-icon > span {
	position: absolute;
	left: 15px;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	margin: 0;
	pointer-events: none;
}

[data-prj-task-location] .ts-input-icon > span svg {
	display: block;
	width: var(--ts-icon-size, 20px);
	height: var(--ts-icon-size, 20px);
	flex-shrink: 0;
}

[data-prj-task-location] .ts-input-icon > input.ts-filter {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	padding-left: 44px;
}

/* Autocomplete dropdown adopted into the modal <dialog> (see projects.js).
   It lives in the dialog top layer, so it is natively clickable; we only pin
   it under the address input, cap its height to the viewport and lift it above
   the form controls. Overrides Voxel's inline top/left/width with !important. */
.ts-autocomplete-dropdown.esmira-vx-prj-ac-dropdown {
	position: fixed !important;
	inset: auto !important;
	margin: 0 !important;
	left: var(--prj-ac-left, 0) !important;
	top: var(--prj-ac-top, 0) !important;
	right: auto !important;
	bottom: auto !important;
	width: var(--prj-ac-width, auto) !important;
	max-height: var(--prj-ac-maxh, 320px) !important;
	overflow-y: auto !important;
	z-index: 600010 !important;
}

/* While the dropdown is open, the controls directly beneath the address input
   (Geolocate button, manual-pick switch) are made inert and dimmed so a click
   on a suggestion can never fall through to them. Defense-in-depth on top of
   the top-layer adoption (points 3 + 4). */
[data-prj-task-location].esmira-vx-prj-ac-open [data-prj-location-geolocate],
[data-prj-task-location].esmira-vx-prj-ac-open .switcher-label {
	pointer-events: none;
	opacity: 0.55;
}

[data-prj-task-location] > .ts-form-group {
	margin-bottom: 0;
	min-width: 0;
}

[data-prj-task-location] .location-field-map.ts-map {
	min-height: 220px;
	border-radius: 6px;
	overflow: hidden;
}

[data-prj-task-location] [data-prj-location-map-block][hidden],
[data-prj-task-location] [data-prj-location-coords][hidden] {
	display: none !important;
}

[data-prj-task-location] [data-prj-location-coords]:not([hidden]) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 25px;
	width: 100%;
}

[data-prj-task-location] [data-prj-location-marker].hidden {
	display: none !important;
}

@media (max-width: 767px) {
	[data-prj-task-location] [data-prj-location-coords]:not([hidden]) {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 1023px) {
	.esmira-vx-prj-calendar__days--week {
		grid-template-columns: repeat(7, minmax(0, 1fr));
		overflow-x: auto;
	}

	.esmira-vx-prj-calendar__days--week .esmira-vx-prj-calendar__day {
		min-width: 140px;
	}
}

.esmira-vx-prj-schedule__scroll {
	min-width: 0;
}

.esmira-vx-prj-schedule__list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.esmira-vx-prj-schedule__day {
	border-bottom: 1px solid var(--prj-border);
}

.esmira-vx-prj-schedule__day-head {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px 8px;
	background: var(--prj-bg);
	border-bottom: 1px solid var(--prj-border);
}

.esmira-vx-prj-schedule__day-date {
	font-weight: 600;
	line-height: 1.2;
}

.esmira-vx-prj-schedule__day-today {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--prj-accent);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.esmira-vx-prj-schedule__day-count {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.esmira-vx-prj-schedule__day-count .ts-filter-count {
	position: static;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.esmira-vx-prj-schedule__rows {
	display: flex;
	flex-direction: column;
}

.esmira-vx-prj-schedule__row {
	display: grid;
	grid-template-columns: 4.75rem minmax(0, 1fr);
	gap: 12px;
	align-items: baseline;
	padding: 8px 12px;
	cursor: pointer;
	box-sizing: border-box;
}

.esmira-vx-prj-schedule__row:hover {
	background: color-mix(in srgb, var(--prj-border) 35%, var(--prj-bg));
}

.esmira-vx-prj-schedule__when {
	font-variant-numeric: tabular-nums;
	font-size: 0.85rem;
	color: var(--prj-muted);
	white-space: nowrap;
}

.esmira-vx-prj-schedule__item-title {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-vx-prj-schedule__row.is-continues .esmira-vx-prj-schedule__item-title {
	color: var(--prj-muted);
	font-style: italic;
}

.esmira-vx-prj-schedule__empty {
	margin: 0;
	padding: 16px 12px;
	color: var(--prj-muted);
}

.esmira-vx-prj-schedule__uncat {
	margin-top: 16px;
	border-top: 1px solid var(--prj-border);
}

.esmira-vx-prj-schedule__uncat-head {
	display: flex;
	align-items: center;
	padding: 10px 12px 8px;
}

.esmira-vx-prj-schedule__uncat-lead {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.esmira-vx-prj-schedule__uncat-title {
	font-weight: 600;
}

.esmira-vx-prj-schedule__uncat-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-align: center;
	line-height: 0;
	font-weight: 500;
	font-size: 0.7rem;
	color: var(--prj-muted);
	flex-shrink: 0;
}

.esmira-vx-prj-schedule__uncat-count-n {
	display: block;
	line-height: 1;
	height: 1em;
	text-align: center;
	font-variant-numeric: tabular-nums lining-nums;
	box-sizing: border-box;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@supports (height: 1cap) {
	.esmira-vx-prj-schedule__uncat-count-n {
		height: 1cap;
		line-height: 1cap;
	}
}

.esmira-vx-prj-schedule__uncat-rail {
	display: flex;
	flex-direction: column;
}

.esmira-vx-prj-schedule__uncat-rail .esmira-vx-prj-schedule__row {
	grid-template-columns: minmax(0, 1fr);
}

.esmira-vx-prj-schedule__uncat-rail .esmira-vx-prj-schedule__when {
	display: none;
}

.esmira-vx-prj-schedule__editor-pop-host {
	padding: 0 12px 12px;
}


