/**
 * Esmira (VX) Upkeep — front-end.
 *
 * Form controls, buttons (.ts-btn) and inputs (.ts-filter) come from the Voxel
 * theme stylesheets this plugin enqueues as dependencies. Enum fields use a
 * Voxel-style popup picker (ported from the Planner add-on, namespaced here so
 * both add-ons can run side by side). This file adds: layout, the modal
 * <dialog> shell (same look as the Planner) and the picker chrome.
 */

.esmira-vx-upk {
	--upk-border: rgba(0, 0, 0, 0.12);
	--upk-bg: #fff;
	max-width: 760px;
}

.esmira-vx-upk--marker {
	max-width: none;
}

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

.esmira-vx-upk.esmira-vx-upk-feed,
.esmira-vx-upk[data-upk="form-commitment"],
.esmira-vx-upk[data-upk="form-expense"] {
	max-width: none;
	width: 100%;
}

.esmira-vx-upk-title {
	margin: 0 0 20px;
}

.esmira-vx-upk-group-wrap {
	margin-bottom: 28px;
}

.esmira-vx-upk-group {
	margin: 0 0 12px;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.65;
}

/* Rows (assets, commitments, expenses, people) */
.esmira-vx-upk-list,
.esmira-vx-upk-actions {
	margin: 0;
	padding: 0;
	list-style: none;
}

.esmira-vx-upk-list > li,
.esmira-vx-upk-actions > li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 10px;
	padding: 12px 15px;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: 10px;
	background: #fff;
}

.esmira-vx-upk-list > li.esmira-vx-upk-empty,
.esmira-vx-upk-actions > li.esmira-vx-upk-empty {
	justify-content: flex-start;
	border-style: dashed;
	opacity: 0.6;
	font-style: italic;
}

.esmira-vx-upk-action-main {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	gap: 6px;
}

.esmira-vx-upk-asset-link {
	flex: 1 1 auto;
	min-width: 0;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
}

.esmira-vx-upk-asset-link:hover {
	text-decoration: underline;
}

.esmira-vx-upk-action-title {
	font-weight: 600;
}

.esmira-vx-upk-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.esmira-vx-upk-tag {
	display: inline-flex;
	align-items: center;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--ts-shade-5, #f1f5f9);
	color: var(--ts-shade-2, #475569);
	font-size: 0.76rem;
	line-height: 1.6;
}

.esmira-vx-upk-status-done {
	background: #dcfce7;
	color: #166534;
}

.esmira-vx-upk-status-skipped {
	background: #fee2e2;
	color: #991b1b;
}

.esmira-vx-upk-status-on_hold {
	background: #fef9c3;
	color: #854d0e;
}

.esmira-vx-upk-row-actions {
	display: flex;
	gap: 8px;
	margin-left: auto;
}

.esmira-vx-upk-rowbtn.ts-btn {
	min-height: 34px;
	height: 34px;
	padding: 0 14px;
}

.esmira-vx-upk-log {
	flex-basis: 100%;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.82rem;
	opacity: 0.75;
}

.esmira-vx-upk-total {
	margin: 4px 0 0;
	font-weight: 600;
}

.esmira-vx-upk-trigger {
	margin-bottom: 16px;
}

/* Inline input + button (invite, manual item). The input takes the row;
   the button stays as wide as its label and icon. */
.esmira-vx-upk-inline-row {
	display: flex;
	align-items: stretch;
	gap: 10px;
	width: 100%;
}

.esmira-vx-upk-inline-row .input-container {
	flex: 1 1 auto;
	min-width: 0;
}

.esmira-vx-upk-inline-row .input-container .ts-filter {
	width: 100%;
}

.esmira-vx-upk-dialog .esmira-vx-upk-inline-row > .ts-btn {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	white-space: nowrap;
}

.esmira-vx-upk-manual-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
}

.esmira-vx-upk-manual-add__icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.esmira-vx-upk-manual-add__icon svg {
	width: 1em;
	height: 1em;
}

/* ===== Modal <dialog> shell (mirrors the Planner add-on) ================= */
dialog.esmira-vx-upk-dialog {
	position: fixed;
	inset: 0;
	z-index: 2000000;
	margin: auto;
	height: fit-content;
	flex-direction: column;
	width: min(640px, calc(100vw - 2rem));
	max-width: 100%;
	max-height: min(90vh, 800px);
	padding: 0;
	border: 0;
	border-radius: 12px;
	color: inherit;
	background: #fff;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.28);
	overflow: visible;
	overscroll-behavior: contain;
}

.esmira-vx-upk-dialog[open] {
	display: flex !important;
	flex-direction: column;
	overflow: visible;
	z-index: 2000000;
}

dialog.esmira-vx-upk-dialog:not(.esmira-vx-upk-feed-preview) [data-upk-dialog-scope] {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	max-height: min(90vh, 800px);
	width: 100%;
	overflow: hidden;
}

dialog.esmira-vx-upk-dialog.is-expanded:not(.esmira-vx-upk-feed-preview) [data-upk-dialog-scope] {
	height: 100%;
	max-height: 100%;
}

dialog.esmira-vx-upk-dialog.is-expanded {
	inset: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	border-radius: 0;
}

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

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

.esmira-vx-upk-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-upk__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.esmira-vx-upk__title {
	margin: 0;
	font-size: 16px;
	font-weight: 650;
	line-height: 1.3;
}

.esmira-vx-upk__form {
	border: 1px solid var(--upk-border);
	border-radius: 8px;
	padding: 1rem;
	margin-bottom: 1.25rem;
	background: var(--upk-bg);
	width: 100%;
	box-sizing: border-box;
}

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

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

.esmira-vx-upk__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-upk-date {
	position: relative;
}

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

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

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

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

.esmira-vx-upk-date__time > .ts-filter {
	width: 100%;
	height: 44px;
	min-height: 44px;
	max-height: 44px;
	margin: 0;
	padding: 0 16px;
	box-sizing: border-box;
	line-height: 42px;
}

.esmira-vx-upk-date__time > input[type="time"]::-webkit-datetime-edit,
.esmira-vx-upk-date__time > input[type="time"]::-webkit-datetime-edit-fields-wrapper {
	padding: 0;
	line-height: inherit;
}

.esmira-vx-upk-date__time > input[type="time"]::-webkit-calendar-picker-indicator {
	margin: 0;
	padding: 0;
}

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

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

.esmira-vx-upk-calendar-popup .ts-popup-content-wrapper > .ts-form-group {
	padding: 15px;
}

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

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

.esmira-vx-upk-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-upk-calendar-popup.is-ported.is-sheet .ts-popup-content-wrapper {
	padding-bottom: 50px;
}

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

.esmira-vx-upk-dialog .esmira-vx-upk__header {
	display: none;
}

.esmira-vx-upk-dialog .esmira-vx-upk__form {
	border: 0;
	margin: 0;
	padding: 0;
}

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

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

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

.esmira-vx-upk-dialog__close,
.esmira-vx-upk-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);
	line-height: 1;
}

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

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

.esmira-vx-upk-dialog__compress-icon {
	display: none;
}

.esmira-vx-upk-dialog.is-expanded .esmira-vx-upk-dialog__expand-icon {
	display: none;
}

.esmira-vx-upk-dialog.is-expanded .esmira-vx-upk-dialog__compress-icon {
	display: inline-flex;
}

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

.esmira-vx-upk-dialog .ts-input-icon > span {
	position: absolute;
	left: 15px;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	pointer-events: none;
	color: var(--ts-shade-2, #64748b);
	line-height: 0;
}

.esmira-vx-upk-dialog .ts-input-icon > span svg {
	display: block;
	width: 18px;
	height: 18px;
}

.esmira-vx-upk-dialog .ts-input-icon > input {
	width: 100%;
	height: 50px;
	margin: 0;
	border: 1px solid var(--ts-shade-4, #e2e8f0);
	border-radius: 8px;
	background: var(--ts-shade-6, #fff);
	padding: 0 15px 0 42px;
	box-sizing: border-box;
	color: inherit;
	font: inherit;
	font-size: 1rem;
	line-height: normal;
	-webkit-appearance: none;
	appearance: none;
}

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

.esmira-vx-upk-dialog__body .ts-form-group:last-child {
	padding-bottom: 0;
}

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

.esmira-vx-upk-dialog__footer .ts-btn {
	cursor: pointer;
}

dialog.esmira-vx-upk-dialog.esmira-vx-upk-feed-preview [data-upk-dialog-scope] {
	display: contents;
}

dialog.esmira-vx-upk-dialog.esmira-vx-upk-feed-preview:not(.is-expanded) {
	width: min(var(--prj-feed-preview-width, 640px), calc(100vw - 2rem));
}

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

.esmira-vx-upk-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-upk-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-upk-feed-preview__field:nth-child(even) {
	background: var(--ts-shade-5, #f1f5f9);
}

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

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

.esmira-vx-upk-feed-preview__value {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.45;
	color: var(--ts-shade-1, #0f172a);
	white-space: pre-wrap;
	word-break: break-word;
}

.esmira-vx-upk-feed-preview__actions {
	margin: 0;
	width: 100%;
}

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

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

.esmira-vx-upk-check {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

/* Live search results (styled on top of ts-term-dropdown-list) */
.esmira-vx-upk-results {
	margin: 2px 0 18px;
	padding: 0;
	max-height: 260px;
	overflow: auto;
	list-style: none;
}

.esmira-vx-upk-results:empty {
	margin: 0;
}

.esmira-vx-upk-result-link {
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.esmira-vx-upk-result-link:hover {
	background: var(--ts-shade-5, #f1f5f9);
}

.esmira-vx-upk-manual {
	margin-top: 4px;
	padding-top: 16px;
	border-top: 1px solid var(--ts-shade-4, #e2e8f0);
}

.esmira-vx-upk-note {
	margin: 12px 15px 15px;
	color: var(--ts-shade-2, #475569);
	font-size: 0.86rem;
}

/* ===== Voxel-style popup picker (ported from the Planner, namespaced) ==== */
.esmira-upk-picker {
	position: relative;
	width: 100%;
}

.esmira-upk-picker__trigger {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;
	width: 100%;
	height: 44px;
	padding: 0 16px;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid var(--ts-shade-3, #cbd5e1);
	border-radius: 0.375rem;
	background: #fff;
	cursor: pointer;
	text-align: left;
	font: inherit;
	line-height: normal;
	color: inherit;
	--ts-icon-size: 20px;
	--ts-icon-color: var(--ts-shade-3, #94a3b8);
}

.esmira-upk-picker__trigger > span:not(.esmira-upk-picker__placeholder):not(.esmira-upk-picker__value) {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.esmira-upk-picker__placeholder[hidden],
.esmira-upk-picker__value[hidden],
.esmira-upk-picker__trigger > span[hidden] {
	display: none !important;
}

.esmira-upk-picker__trigger > span svg {
	width: var(--ts-icon-size, 20px);
	height: var(--ts-icon-size, 20px);
	fill: var(--ts-icon-color, currentColor);
}

.esmira-upk-picker__trigger .ts-down-icon {
	margin-left: auto;
	flex-shrink: 0;
}

.esmira-upk-picker__trigger .ts-filter-text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.esmira-upk-picker__placeholder {
	color: var(--ts-shade-3, #94a3b8);
}

.esmira-upk-picker__dropdown {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	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);
	max-height: min(280px, 40vh);
	overflow: hidden;
}

.esmira-upk-picker__dropdown.is-ported {
	display: block !important;
	position: fixed;
	z-index: 600002;
	right: auto;
	margin: 0;
}

.esmira-upk-picker__dropdown .ts-term-dropdown {
	max-height: min(280px, 40vh);
	overflow-y: auto;
}

.esmira-upk-picker__dropdown .ts-term-dropdown-list a.flexify {
	cursor: pointer;
	text-decoration: none;
	color: inherit;
}

.esmira-upk-picker__sheet-root[hidden] {
	display: none !important;
}

html.esmira-upk-picker-sheet-open {
	overflow: hidden;
}

html.esmira-upk-picker-sheet-open .esmira-upk-picker__dropdown {
	display: none !important;
}

@media (max-width: 1023px) {
	.esmira-upk-picker__dropdown {
		display: none !important;
	}
}

.esmira-upk-picker__sheet-root {
	position: fixed;
	inset: 0;
	z-index: 600010;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	pointer-events: auto;
}

.esmira-upk-picker__sheet-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.esmira-upk-picker__sheet-root .ts-field-popup-container {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0;
	flex: 0 0 auto;
	max-height: 100dvh;
}

.esmira-upk-picker__sheet-root .ts-field-popup {
	min-height: var(--vx-popup-height, 50dvh);
	max-height: 100dvh;
}

.esmira-upk-picker__sheet-root .ts-popup-controller {
	flex-shrink: 0;
}

.esmira-upk-picker__sheet-root .ts-popup-content-wrapper {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
}

.esmira-upk-picker__sheet-body .ts-term-dropdown {
	max-height: none;
}

/* -------------------------------------------------------------------------
 * Asset Feed — Voxel post-feed-style table + search form (same chrome as the
 * Planner's Project Feed / Project Search Form, namespaced for this add-on).
 * ---------------------------------------------------------------------- */

.esmira-vx-upk-feed {
	--upk-border: rgba(0, 0, 0, 0.12);
	--upk-muted: rgba(0, 0, 0, 0.55);
	--upk-bg: #fff;
	--upk-accent: var(--ts-accent-1, #1e3a5f);
	max-width: none;
	font-size: 15px;
	line-height: 1.45;
}

.esmira-vx-upk__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

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

/* Form-button (Asset Picker) — same reset as the Planner form button.
   Sfondo, bordo, padding e larghezza restano quelli di vx:action.css e della tab Style. */
.esmira-vx-upk--form-button {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	overflow: visible;
}

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

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

/* Invitations strip (shared assets awaiting a response) */
.esmira-vx-upk-invites {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 1.25rem;
}

.esmira-vx-upk-invite {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0.6rem 0.85rem;
	border: 1px solid var(--upk-border);
	border-radius: 8px;
	background: var(--upk-bg);
}

.esmira-vx-upk-invite__actions {
	display: inline-flex;
	gap: 0.4rem;
	flex-shrink: 0;
}

/* Search form (keywords + scope segmented control) */
.esmira-vx-upk-sf {
	width: 100%;
	margin: 0 0 1.25rem;
}

.esmira-vx-upk-sf-form.ts-filter-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
}

.esmira-vx-upk-sf-field {
	flex: 1 1 200px;
	min-width: 180px;
}

.esmira-vx-upk-sf-field > label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--upk-muted);
}

.esmira-vx-upk-sf-field .ts-input-icon {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.esmira-vx-upk-sf-field .ts-input-icon > span {
	position: absolute;
	left: 12px;
	display: inline-flex;
	color: var(--upk-muted);
	pointer-events: none;
}

.esmira-vx-upk-sf-field .ts-input-icon input {
	width: 100%;
	padding-left: 38px;
}

.esmira-vx-upk-seg {
	display: inline-flex;
	width: 100%;
	border: 1px solid var(--ts-shade-4, var(--upk-border));
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.esmira-vx-upk-seg__btn {
	flex: 1 1 0;
	padding: 0.5rem 0.9rem;
	border: none;
	border-right: 1px solid var(--ts-shade-4, var(--upk-border));
	background: transparent;
	font-size: 0.875rem;
	cursor: pointer;
	color: inherit;
	white-space: nowrap;
}

.esmira-vx-upk-seg__btn:last-child {
	border-right: none;
}

.esmira-vx-upk-seg__btn.is-active {
	background: var(--upk-accent);
	color: #fff;
}

.esmira-vx-upk-seg__btn:focus-visible {
	outline: 2px solid var(--upk-accent);
	outline-offset: -2px;
}

/* Details bar (result count) */
.esmira-vx-upk__details {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 14px;
}

.esmira-vx-upk__details-count {
	font-size: 0.9rem;
	color: var(--ts-shade-3, var(--upk-muted));
}

/* Table */
.esmira-vx-upk__table-wrap {
	overflow-x: auto;
	border: 1px solid var(--upk-border);
	border-radius: 8px;
	background: var(--upk-bg);
}

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

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

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

.esmira-vx-upk__table tr:last-child td {
	border-bottom: none;
}

.esmira-vx-upk__asset-link {
	font-weight: 600;
	text-decoration: none;
}

.esmira-vx-upk__muted {
	color: var(--upk-muted);
}

.esmira-vx-upk__badge {
	display: inline-block;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	background: var(--ts-shade-1, rgba(0, 0, 0, 0.06));
	color: var(--upk-muted);
}

.esmira-vx-upk__badge--mine {
	background: rgba(30, 58, 95, 0.1);
	color: var(--upk-accent);
}

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

.esmira-vx-upk__col-preview {
	width: 1%;
	text-align: right;
	white-space: nowrap;
}

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

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

.esmira-vx-upk__preview-btn:hover {
	opacity: 1;
}

.esmira-vx-upk__preview-btn .las {
	font-size: 1.15rem;
}

.esmira-vx-upk__delete-btn:hover {
	color: var(--ts-error-1, #b42318);
}

.esmira-vx-upk-feed--loading {
	opacity: 0.6;
	pointer-events: none;
}

/* Feed chrome copied from Planner Project Feed, namespaced. */

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

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

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

.esmira-vx-upk__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-upk__details-count,
.esmira-vx-upk__details .result-count {
	color: var(--ts-shade-3);
	font: inherit;
	line-height: inherit;
}

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

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

.esmira-vx-upk__details-sort .esmira-vx-usf-details-sort-src {
	display: block;
}

.esmira-vx-upk__details-sort .esmira-upk-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-upk__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-upk__details .vxf-sort:hover {
	color: var(--ts-shade-2);
}

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

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

.esmira-vx-upk__details .vxf-sort .esmira-upk-picker__placeholder,
.esmira-vx-upk__details .vxf-sort .esmira-upk-picker__value {
	color: inherit;
}

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

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

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

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

/* Native <button> + Voxel .ts-btn paint a kit border. Strip it so Style → Border
   ({{WRAPPER}} .esmira-vx-upk__pager-btn) is the only chrome. */
.esmira-vx-upk__pager button.esmira-vx-upk__pager-btn.ts-btn,
.esmira-vx-upk__pager button.esmira-vx-upk__pager-btn.ts-btn:hover,
.esmira-vx-upk__pager button.esmira-vx-upk__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-upk__pager button.esmira-vx-upk__pager-btn.ts-btn:focus-visible {
	outline: 2px solid var(--ts-accent-1, var(--e-global-color-accent, #6366f1));
	outline-offset: 2px;
}

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

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

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

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

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

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

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

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

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

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

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

.esmira-vx-upk__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(--upk-progress-fill, var(--upk-accent));
	font-variant-numeric: tabular-nums;
}

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

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

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

.esmira-vx-upk__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-upk__table th {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--upk-muted);
	font-weight: 600;
}

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

/* Search form chrome copied from Planner Project Search Form, namespaced. */

.esmira-vx-upk-feed.esmira-vx-upk-feed-loading,
.esmira-vx-usf.esmira-vx-usf-loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

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

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

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

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

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

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

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

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

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

.esmira-vx-usf .ts-input-icon > span,
.esmira-vx-usf-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-usf .ts-input-icon > span svg,
.esmira-vx-usf-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-usf .ts-input-icon > input.inline-input,
.esmira-vx-usf-toggle-popup .ts-input-icon > input.inline-input {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	line-height: normal;
}

.esmira-vx-usf-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-usf-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-usf-seg__btn:last-child {
	border-right: 0;
}

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

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

.esmira-vx-usf > .esmira-vx-usf-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-usf-toggle .ts-toggle-text {
	margin: 0;
	line-height: 1;
}

.esmira-vx-usf-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-usf[data-toggle-desktop="1"] {
		margin-bottom: 0;
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html.esmira-vx-usf-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-usf-toggle-popup .esmira-vx-usf-toggle-content {
	width: 100%;
	box-sizing: border-box;
	padding: 15px 15px 0;
}

.esmira-vx-usf-toggle-popup .esmira-vx-usf-form.ts-filter-wrapper,
.esmira-vx-usf-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-usf-toggle-popup .esmira-vx-usf-form .ts-form-group,
.esmira-vx-usf-toggle-popup .ts-filter-wrapper > .ts-form-group,
.esmira-vx-usf-toggle-popup .esmira-vx-usf-field,
.esmira-vx-usf-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-usf-toggle-popup .ts-form-group > label {
	padding-bottom: 10px;
}

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

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

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

	.esmira-vx-usf-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-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
	.esmira-vx-usf-toggle-popup.is-ported .min-scroll {
		flex: 1 1 auto;
		min-height: 0;
		max-height: none !important;
		overflow: auto;
	}

	.esmira-vx-usf-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-usf-toggle-popup.is-ported,
html.elementor-device-tablet .esmira-vx-usf-toggle-popup.is-ported,
body.elementor-device-mobile .esmira-vx-usf-toggle-popup.is-ported,
body.elementor-device-tablet .esmira-vx-usf-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-usf-toggle-popup.is-ported > .ts-field-popup,
html.elementor-device-tablet .esmira-vx-usf-toggle-popup.is-ported > .ts-field-popup,
body.elementor-device-mobile .esmira-vx-usf-toggle-popup.is-ported > .ts-field-popup,
body.elementor-device-tablet .esmira-vx-usf-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-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
html.elementor-device-tablet .esmira-vx-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
body.elementor-device-mobile .esmira-vx-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
body.elementor-device-tablet .esmira-vx-usf-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-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller,
html.elementor-device-tablet .esmira-vx-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller,
body.elementor-device-mobile .esmira-vx-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-controller,
body.elementor-device-tablet .esmira-vx-usf-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-usf-toggle-popup.is-ported {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: auto;
		max-width: 95vw;
		max-height: 85vh;
	}

	.esmira-vx-usf-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-usf-toggle-popup.is-ported > .ts-field-popup > .ts-popup-content-wrapper,
	.esmira-vx-usf-toggle-popup.is-ported .min-scroll {
		flex: 1 1 auto;
		min-height: 0;
		overflow: auto;
	}
}