@font-face {
	font-family: 'assistant';
	src: url('../fonts/Assistant-Light.woff') format('woff');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'assistant';
	src: url('../fonts/Assistant-Regular.woff') format('woff');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'assistant';
	src: url('../fonts/Assistant-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'assistant';
	src: url('../fonts/Assistant-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'assistant';
	src: url('../fonts/Assistant-ExtraBold.woff') format('woff');
	font-weight: 900;
	font-style: normal;
}


:root {
	--brand-color-1: rgba(65, 65, 67, 1);
	--brand-color-2: rgba(102, 168, 189, 1);
	--brand-color-3: rgba(0, 106, 153, 1);
	--brand-color-4: rgba(168, 169, 173, 1);
}


body {
	font-family: assistant, sans-serif;
	width: 100%;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

.container {
	width: 100%;
	height: 100vh;
	margin: auto;
	padding: 2em;
	/*background: #ddd;*/
	box-sizing: border-box;
}

.container.rtl {
	direction: rtl;
	text-align: right;
}

.content_wrapper {
	width: 100%;
	margin: auto;
	max-width: 1000px;
}

/***** Background *****/


@keyframes slide-top-right {
	0% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(-20%, 20%);
	}

	100% {
		transform: translate(0, 0);
	}
}

@keyframes slide-top-right-long {
	0% {
		transform: translate(0, 0);
	}

	50% {
		transform: translate(120%, -120%);
	}

	100% {
		transform: translate(0, 0);
	}
}

.bg_wrapper {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 50px;
	box-sizing: border-box;
}

.bg_item {
	position: relative;
	width: 20vw;
	height: 20vw;
	background: rgba(143,147,140, 0.7);
	border-radius: 0 50% 0 50%;
	overflow: hidden;
	animation: slide-top-right 4s ease-in-out 0s infinite;
}

.bg_itm2 {
	width: 10vw;
	height: 10vw;
	margin: -8% 15% 0 0;
	background: rgba(118,111,90, 0.7);
	animation: slide-top-right-long 3s ease-in-out 1s infinite;
}

.animate .bt_item {
	/*animation: slide-top-right 4s ease-in-out 0s 5;*/
}

.animate .bt_itm2 {
	/*animation: slide-top-right-long 3s ease-in-out 1s 5;*/
}

.logo_wrapper {
	width: 100%;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.2em;
	padding: 10px;
	margin: 0 0 10px 0;
	box-sizing: border-box;
}

.logo {
	width: 20vw;
	max-width: 200px;
	/*filter: invert(1) brightness(0);*/
	margin: 0 0 5px 0;
}

.logo img {
	width: 100%;
	height: auto;
}

.lang_switcher {
	position: absolute;
	direction: ltr;
	display: flex;
	flex-flow: row wrap;
	top: 0;
	left: 0;
	padding: 5px;
	color: var(--brand-color-1);
}

.lang_item {
	position: relative;
	width: auto;
	padding: 3px 10px;
	border-right: 1px solid var(--brand-color-4);
	margin-right: 5px;
	color: var(--brand-color-1);
	text-decoration: none !important;
	cursor: pointer;
}

.lang_item:last-child {
	border-right: none;
}

.lang_item.selected {
	color: #fff;
	background: var(--brand-color-2);
	border-radius: 5px;
	border-right: none;
}

.stages_wrapper {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 100%;
	margin: 20px 0 0 0;
	overflow: hidden;
	box-sizing: border-box;
}

.stages_strip {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	width: 300%;
	box-sizing: border-box;
	transition: all 0.5s ease;
}

.stages_strip.next,
.stages_strip.to-form {
	transform: translate(-50%);
}

.rtl .stages_strip.next,
.rtl .stages_strip.to-form {
	transform: translate(50%);
}

.stages_strip.level-3.next,
.stages_strip.level-3.to-sub {
	transform: translate(-33.333%);
}

.rtl .stages_strip.level-3.next,
.rtl .stages_strip.level-3.to-sub {
	transform: translate(33.333%);
}

.stages_strip.level-3.to-form {
	transform: translate(-66.666%);
}

.rtl .stages_strip.level-3.to-form {
	transform: translate(66.666%);
}

.stage {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 50%;
	padding: 0 15px;
	/*justify-content: center;*/
	box-sizing: border-box;
}

.level-3 .stage {
	width: 33.333%;
}

.lead_form {
	position: relative;
	z-index: 150;
}

input, button {
	width: 100%;
	margin-bottom: 1em;
	font-size: 1.2em;
}

.simple-keyboard {
	position: relative;
	direction: ltr;
	/*bottom: 0;*/
	/*left: 0;*/
	/*right: 0;*/
	width: 100%;
	background: transparent !important;
	/*padding: 50px;*/
	display: none;
	box-sizing: border-box;
}

.hg-rows {
	/*margin: 30px;*/
}

.keyboard .keys {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.keyboard button {
	font-size: 1.5em;
}

.hg-button-space {
	min-width: 70%;
}

input {
	width: 100%;
	padding: 20px;
	/*background: rgba(0,0,0,0.1);*/
	background: transparent;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	color: #000;
	font-size: 1.5em;
	text-align: right;
	box-sizing: border-box;
}

.lead_form input[dir="ltr"] {
	direction: ltr;
	text-align: left;
}

.lead_form input[dir="rtl"] {
	direction: rtl;
	text-align: right;
}

.checkbox_wrapper {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	align-items: start;
	gap: 10px;
	cursor: pointer;
}

.checkbox_item {
	width: auto;
}

.checkbox_hidden {
	display: none;
}

.checkmark {
	width: 2.5em;
	height: 2.5em;
	display: inline-block;
	background-size: cover;
	background-image: url("../icons/checkbox-unchecked.svg");
	transition: background-image 0.3s ease;
}

.label_text {
	width: calc(100% - 4em);
	font-size: 0.8em;
	font-weight: 300;
}

.checkbox_hidden:checked + .checkmark {
	background-image: url("../icons/checkbox-check.svg");
}

.submit_btn_wrapper {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 20px;
	margin: 40px 0 0 0;
}

.submit_btn {
	display: flex;
	flex-flow: row wrap;
	color: #000;
	background: none;
	border: 2px solid #000;
	border-radius: 5px;
	padding: 12px 30px;
	margin: 0 0 1em 0;
	width: auto;
	align-items: center;
	cursor: pointer;
}

.submit_btn img {
	height: 2em;
	width: auto;
}

.next_btn {
	opacity: 0.3;
	transition: all 0.3s;
}

.next_btn.active,
.submit_btn.active {
	opacity: 1;
	color: #fff;
	background: var(--brand-color-2);
	border: 2px solid var(--brand-color-2);
}

.next_btn.active img {
	filter: invert(1);
}

.prev_btn {
	font-size: 1.2em;
	padding: 0 10px;
}

.stage_title {
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	color: var(--brand-color-1);
	margin: 0 0 30px 0;
}

.stage_title h2 {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
	text-align: center;
}

.project_stage_panel[dir="rtl"] .stage_title h2 {
	direction: rtl;
}

.project_stage_panel[dir="ltr"] .stage_title h2 {
	direction: ltr;
}

.stage_header_slot {
	display: flex;
	flex: 0 0 clamp(76px, 16vw, 132px);
	align-items: center;
	min-width: 0;
}

.stage_header_slot_prev {
	justify-content: flex-start;
}

.stage_header_slot_next {
	justify-content: flex-end;
}

.stage_header_nav_btn {
	visibility: hidden;
	opacity: 0 !important;
	pointer-events: none;
	justify-content: center;
	max-width: 100%;
	min-height: 42px;
	margin: 0;
	border-color: var(--brand-color-2);
	background: rgba(255, 255, 255, 0.96);
	color: var(--brand-color-1);
	padding: 8px 14px;
	font-size: 0.9em;
	line-height: 1.1;
	white-space: normal;
	transition: opacity 0.2s ease, background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.stage_title.has_header_nav_visible .stage_header_nav_btn {
	visibility: visible;
	opacity: 1 !important;
	pointer-events: auto;
}

.stage_header_nav_btn.active {
	color: #fff;
	background: var(--brand-color-2);
	border-color: var(--brand-color-2);
}

.stage_title.has_header_nav_visible .stage_header_nav_btn.next_btn:not(.active) {
	opacity: 0.55 !important;
}

@media (max-width: 767px) {
	.stage_title h2 {
		font-size: 1.5em;
	}
}

@media (max-width: 579px) {
	.stage_title {
		flex-wrap: wrap;
		gap: 10px 12px;
	}

	.stage_title h2 {
		order: 1;
		flex: 0 0 100%;
		font-size: 1.3em;
	}

	.stage_header_slot_prev {
		order: 2;
		flex: 1 1 0;
	}

	.stage_header_slot_next {
		order: 3;
		flex: 1 1 0;
	}
}

h2 {
	font-size: 2em;
	font-weight: 700;
	margin: 0 0 15px 0;
}

h3 {
	font-size: 1.35em;
	font-weight: 500;
	margin: 0 0 15px 0;
}

h4 {
	font-size: 1.2em;
	font-weight: 300;
	margin: 0 0 15px 0;
}

/***** Cities Stage (1st Stage) *****/

@keyframes pulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.25);
	}

	100% {
		transform: scale(1);
	}
}

.city_selector {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-flow: dense;
	gap: 20px;
	width: 100%;
}

.sub_group {
	/*display: none;*/
}

.sub_group.active {
	/*display: grid;*/
}

.city_item {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 100%;
	aspect-ratio: 1.6 / 1;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #fff;
	/*overflow: hidden;*/
	box-sizing: border-box;
	text-align: inherit;
	appearance: none;
	transition: box-shadow 0.3s ease;
	/*animation: pulse 0.6s ease-in-out 1s 1;*/
}

.city_item[data-card-size="wide"] {
	grid-column: 1 / -1;
	aspect-ratio: 3.2 / 1;
}

.city_item[data-card-size="tall"] {
	grid-row: span 2;
	aspect-ratio: 0.77 / 1;
}

.city_item .city_img,
.animate .city_item .city_img {
	animation: pulse 0.6s ease-in-out 1.2s 1;
}

.city_item:nth-child(2) .city_img,
.animate .city_item:nth-child(2) .city_img {
	animation: pulse 1.6s ease-in-out 1.2s 1;
}

.city_item:nth-child(3) .city_img,
.animate .city_item:nth-child(3) .city_img {
	animation: pulse 1.6s ease-in-out 1.4s 1;
}

.city_item:nth-child(4) .city_img,
.animate .city_item:nth-child(4) .city_img {
	animation: pulse 1.6s ease-in-out 1.6s 1;
}

.city_item:nth-child(5) .city_img,
.animate .city_item:nth-child(4) .city_img {
	animation: pulse 1.6s ease-in-out 1.8s 1;
}

.city_item:nth-child(6) .city_img,
.animate .city_item:nth-child(4) .city_img {
	animation: pulse 1.6s ease-in-out 2s 1;
}

.city_item_inner {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 100%;
	height: 100%;
	border-radius: 10px;
	background: transparent;
	color: #fff;
	overflow: hidden;
	box-sizing: border-box;
	transition: all 0.3s ease;
}

.city_item .city_img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
	transform-origin: 50% 50%;
	transition: all 2.5s;
}

.city_item_overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	/*background: rgba(0,0,0,0.3);*/
	transition: all 0.3s;
}

.city_item_title {
	position: relative;
	padding: 10px 10px 50px 10px;
	font-size: 1.3em;
	background: linear-gradient(180deg,rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
	transition: all 0.5s;
}

.selected .city_item_title {
	background: linear-gradient(180deg,rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
}

.city_item_check {
	position: absolute;
	display: flex;
	bottom: 0;
	left: 50%;
	margin: 0 0 -1em -40px;
	width: 80px;
	height: 2em;
	padding: 5px;
	background: #fff;
	border-radius: 5px;
	justify-content: center;
	align-items: center;
	opacity: 0;
	overflow: hidden;
	transition: all 0.3s !important;
}

.checked_icon {
	position: relative;
	height: 1.5em !important;
	width: auto !important;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s !important;
	transition-delay: 1s;
}

.city_item.selected {
	box-shadow: inset 0 0 0 2px var(--brand-color-2);
}

.city_item.selected .city_item_overlay {
	background: rgba(255,255,255,0.3);
}

.city_item.selected .city_item_title {
	color: #000;
}

.city_item.selected .city_item_check {
	opacity: 1;
}

.city_item.selected .checked_icon {
	opacity: 1;
	transform: translateY(0);
}

.city_item.selected .city_img {
	transform: scale(1.2);
}

/***** Popup *****/

.popup_wrapper {
	position: fixed;
	display: none;
	flex-flow: column;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	justify-content: center;
	align-items: center;
	background: rgba(0,0,0,0.5);
}

	.popup_wrapper.show {
		display: flex;
	}

.popup {
	position: relative;
	display: flex;
	flex-flow: column;
	width: 100%;
	height: auto;
	max-width: 500px;
	min-height: 200px;
	background: #eee;
	color: #000;
	border-radius: 10px;
	padding: 30px;
	text-align: center;
	font-size: 1.5em;
	justify-content: center;
	align-items: center;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	transform: scale(0);
	box-sizing: border-box;
	transition: all 1s;
}

.show .popup {
	transform: scale(1);
}

.popup_icon {
	display: inline-block;
	width: 2em;
	margin: 10px 0 0 0;
}

.popup_icon img {
	width: 100%;
	height: auto;
}

.project_install_button {
	position: absolute;
	top: 8px;
	right: 8px;
	width: auto;
	padding: 7px 12px;
	border: 1px solid var(--brand-color-2);
	border-radius: 18px;
	background: #fff;
	color: var(--brand-color-1);
	font: inherit;
	font-size: 0.92em;
	cursor: pointer;
	z-index: 2;
}

.install_help_popup .popup_inner {
	max-width: 340px;
	padding: 28px 22px;
	text-align: center;
}

.install_help_popup {
	z-index: 10;
}

.install_help_popup h2 {
	margin-top: 0;
}

.install_help_popup p {
	line-height: 1.5;
}

.auth_page,
.admin_page {
	min-height: 100vh;
	background: #f6f8f8;
	color: var(--brand-color-1);
	box-sizing: border-box;
}

.auth_page {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.auth_panel,
.admin_section {
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
}

.auth_panel {
	width: 100%;
	max-width: 560px;
	padding: 32px;
	direction: rtl;
	text-align: right;
}

.auth_logo {
	display: block;
	width: 160px;
	margin: 0 auto 24px;
}

.auth_form,
.admin_form {
	display: flex;
	flex-flow: column;
	gap: 10px;
}

.auth_form input[dir="ltr"] {
	text-align: left;
	direction: ltr;
}

.auth_form.hidden {
	display: none;
}

.auth_message {
	min-height: 1.4em;
	color: var(--brand-color-3);
	line-height: 1.5;
}

.auth_message.error {
	color: #b42318;
}

.auth_status {
	margin: 18px 0;
	padding: 16px;
	border: 1px solid rgba(0, 106, 153, 0.25);
	border-radius: 8px;
	background: rgba(102, 168, 189, 0.08);
}

.auth_status.hidden {
	display: none;
}

.auth_status h2 {
	margin-bottom: 12px;
	font-size: 1.25em;
}

.auth_status dl {
	display: grid;
	gap: 8px;
	margin: 0;
}

.auth_status dl div {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 10px;
	align-items: center;
}

.auth_status dt {
	font-weight: 700;
}

.auth_status dd {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	word-break: break-word;
}

.auth_status code {
	direction: ltr;
	text-align: left;
}

.auth_hint {
	margin: 14px 0;
	line-height: 1.5;
}

.small_button {
	width: auto;
	padding: 6px 10px;
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.16);
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
}

.link_button {
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--brand-color-3);
	cursor: pointer;
}

.auth_separator {
	position: relative;
	margin: 20px 0;
	color: var(--brand-color-4);
	text-align: center;
}

.auth_separator::before,
.auth_separator::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 42%;
	height: 1px;
	background: rgba(0, 0, 0, 0.12);
}

.auth_separator::before {
	right: 0;
}

.auth_separator::after {
	left: 0;
}

.google_button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 14px 18px;
	margin: 0 0 18px;
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 5px;
	background: #fff;
	color: var(--brand-color-1);
	font: inherit;
	cursor: pointer;
}

.google_mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	color: #4285f4;
	font-weight: 700;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.admin_page {
	padding: 28px;
}

.admin_page button,
.admin_page a,
.admin_page .submit_btn,
.admin_page .small_button,
.admin_page .admin_tab,
.admin_page .option_summary,
.admin_page .project_pick {
	text-decoration: none;
}

.admin_page button:hover,
.admin_page button:focus,
.admin_page a:hover,
.admin_page a:focus,
.admin_page .submit_btn:hover,
.admin_page .submit_btn:focus,
.admin_page .small_button:hover,
.admin_page .small_button:focus,
.admin_page .admin_tab:hover,
.admin_page .admin_tab:focus,
.admin_page .option_summary:hover,
.admin_page .option_summary:focus,
.admin_page .project_pick:hover,
.admin_page .project_pick:focus {
	text-decoration: none;
}

.admin_header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
}

.dashboard_topbar {
	position: relative;
	padding: 14px 16px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.dashboard_company_identity {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	min-width: 0;
}

.dashboard_company_logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	background: #f8fbfb;
	overflow: hidden;
	color: var(--brand-color-3);
	font-weight: 900;
}

.dashboard_company_logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
	box-sizing: border-box;
}

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

.dashboard_company_text h1,
.dashboard_company_text p {
	margin: 0;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dashboard_company_text p {
	color: var(--brand-color-4);
	font-weight: 700;
}

.dashboard_company_switcher {
	display: grid;
	max-width: 320px;
	gap: 4px;
	font-weight: 700;
}

.dashboard_company_switcher select {
	min-height: 42px !important;
	padding: 8px 10px !important;
}

.dashboard_user_menu {
	position: relative;
	flex: 0 0 auto;
}

.user_menu_button {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	margin: 0;
	padding: 6px 10px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 999px;
	background: #fff;
	color: var(--brand-color-1);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
}

.user_menu_avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--brand-color-3);
	color: #fff;
	font-size: 0.85em;
}

.user_menu_name {
	max-width: 180px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.user_menu_panel {
	position: absolute;
	z-index: 90;
	top: calc(100% + 8px);
	left: 0;
	display: grid;
	width: min(280px, calc(100vw - 32px));
	gap: 6px;
	padding: 10px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.16);
}

.user_menu_profile,
.user_profile_panel {
	display: grid;
	gap: 3px;
	padding: 8px 10px;
	border-radius: 6px;
	background: #f8fbfb;
}

.user_menu_profile span,
.user_menu_profile small,
.user_profile_panel small,
.user_profile_panel span {
	min-width: 0;
	overflow-wrap: anywhere;
	color: var(--brand-color-4);
	font-weight: 700;
}

.user_profile_panel form,
.user_profile_panel label {
	display: grid;
	gap: 6px;
}

.user_profile_panel input {
	min-height: 40px !important;
	padding: 8px 10px !important;
}

.user_menu_item {
	display: block;
	width: 100%;
	min-height: 38px;
	margin: 0;
	padding: 9px 10px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--brand-color-1);
	font: inherit;
	font-weight: 800;
	text-align: inherit;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
}

.user_menu_item:hover,
.user_menu_item:focus-visible {
	background: #eef5f3;
	outline: none;
}

.user_menu_item.danger {
	color: #b42318;
}

.admin_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.admin_actions .submit_btn,
.admin_page .submit_btn,
.admin_page .small_button {
	white-space: normal;
	line-height: 1.2;
}

.admin_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 18px;
}

.admin_section {
	padding: 20px;
}

.admin_page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.admin_page select:not([multiple]) {
	width: 100%;
	min-height: 58px;
	padding: 14px;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	background: #fff;
	font: inherit;
	box-sizing: border-box;
}

.admin_form textarea {
	width: 100%;
	padding: 14px;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	font: inherit;
	box-sizing: border-box;
}

.admin_list {
	display: flex;
	flex-flow: column;
	gap: 12px;
}

.admin_list_item {
	display: flex;
	flex-flow: column;
	gap: 8px;
	padding: 12px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
}

.admin_list_item select {
	width: 100%;
	padding: 10px;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	background: #fff;
	font: inherit;
	box-sizing: border-box;
}

.user_project_select {
	min-height: 112px;
}

.user_project_select option {
	padding: 6px 8px;
}

.sync_status {
	min-height: 1.4em;
	margin-top: 12px;
	color: var(--brand-color-3);
	text-align: center;
}

.hidden {
	display: none !important;
}

.admin_tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	padding: 6px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.admin_tab {
	width: auto;
	margin: 0;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--brand-color-4);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
}

.admin_tab.active {
	border-color: rgba(0, 0, 0, 0.08);
	background: var(--brand-color-3);
	color: #fff;
}

.admin_tab_panel {
	display: none;
	gap: 18px;
}

.admin_tab_panel.active {
	display: grid;
	grid-template-columns: minmax(260px, 340px) 1fr;
}

#usersTab.active {
	grid-template-columns: 1fr;
}

#companyTab.active,
#eventsTab.active,
#linksTab.active {
	grid-template-columns: 1fr;
}

.admin_sidebar {
	align-self: start;
	position: sticky;
	top: 18px;
	display: flex;
	max-height: calc(100vh - 36px);
	flex-flow: column;
	gap: 14px;
	overflow: auto;
	padding: 16px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
}

.admin_sidebar_actions {
	position: sticky;
	bottom: 0;
	display: grid;
	gap: 8px;
	margin: auto -16px -16px;
	padding: 12px 16px 16px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	background: #fff;
	box-shadow: 0 -10px 24px rgba(255, 255, 255, 0.92);
}

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

.project_editor {
	max-height: none;
}

.editor_language_section {
	margin: 18px 0 4px;
	padding: 12px 0 16px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.editor_language_section h3 {
	margin: 0;
}

.editor_language_tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.editor_language_tab {
	width: auto;
	min-width: 56px;
	margin: 0;
	padding: 9px 16px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 999px;
	background: #fff;
	color: var(--brand-color-4);
	cursor: pointer;
	font: inherit;
	font-weight: 700;
}

.editor_language_tab.active {
	border-color: var(--brand-color-3);
	background: var(--brand-color-3);
	color: #fff;
}

.form_grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}

.admin_form label,
.builder_card label {
	display: flex;
	flex-flow: column;
	gap: 6px;
	font-weight: 600;
}

.localized_editor[dir="ltr"] {
	direction: ltr;
	text-align: left;
}

.localized_editor[dir="rtl"] {
	direction: rtl;
	text-align: right;
}

.localized_editor[dir="ltr"] .panel_header,
.localized_editor[dir="ltr"] .form_grid,
.localized_editor[dir="ltr"] label {
	text-align: left;
}

.localized_editor[dir="ltr"] .panel_header {
	direction: ltr;
}

.localized_editor[dir="ltr"] input:not([dir="rtl"]),
.localized_editor[dir="ltr"] textarea:not([dir="rtl"]) {
	direction: ltr;
	text-align: left;
}

.admin_form select {
	width: 100%;
	padding: 14px;
	min-height: 58px;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	background: #fff;
	font: inherit;
	box-sizing: border-box;
}

.inline_check {
	display: flex !important;
	flex-flow: row !important;
	align-items: center;
	gap: 10px;
}

.inline_check input {
	width: auto;
	margin: 0;
}

.recipient_list {
	display: grid;
	gap: 10px;
}

.recipient_row {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto;
	gap: 10px;
	align-items: center;
}

.flow_step_card {
	display: grid;
	gap: 12px;
}

.flow_channel_row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.builder_section {
	margin: 22px 0;
	padding-top: 18px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.company_dashboard_section {
	display: grid;
	gap: 14px;
}

.company_settings_group {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.company_settings_group + .company_settings_group {
	margin-top: 12px;
}

.company_settings_group summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 58px;
	padding: 13px 16px;
	background: #f8fbfb;
	cursor: pointer;
	list-style: none;
}

.company_settings_group summary::-webkit-details-marker {
	display: none;
}

.company_settings_group summary::after {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	color: var(--brand-color-3);
	font-weight: 900;
}

.company_settings_group[open] summary::after {
	content: "-";
}

.company_settings_group summary span,
.company_settings_group summary small {
	display: block;
	min-width: 0;
}

.company_settings_group summary span {
	font-weight: 900;
}

.company_settings_group summary small {
	color: var(--brand-color-4);
	font-weight: 700;
}

.company_settings_body {
	display: grid;
	gap: 14px;
	padding: 16px;
}

.builder_card,
.option_card,
.qr_card {
	padding: 14px;
	margin: 12px 0;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.option_card {
	background: #f9fbfb;
}

.option_card.collapsed {
	padding: 0;
	overflow: hidden;
}

.option_summary {
	display: grid;
	width: 100%;
	min-height: 76px;
	grid-template-columns: 72px 1fr 32px;
	gap: 12px;
	align-items: center;
	margin: 0;
	padding: 10px;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: inherit;
	cursor: pointer;
	font: inherit;
}

.option_summary:hover,
.option_summary:focus-visible {
	background: #eef5f3;
	outline: none;
}

.option_summary_image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 56px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 6px;
	background: #fff;
	color: var(--brand-color-4);
	overflow: hidden;
	font-weight: 800;
}

.option_summary_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.option_summary_image.empty {
	background: #eef5f3;
}

.option_summary_text {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.option_summary_text strong,
.option_summary_text small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.option_summary_text small {
	color: var(--brand-color-4);
}

.option_summary_chevron {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--brand-color-3);
	color: #fff;
	font-weight: 800;
	line-height: 1;
}

.option_summary[aria-expanded="true"] .option_summary_chevron {
	transform: rotate(45deg);
}

.option_fields {
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.linked_stage_control {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 10px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	background: #f6f8f8;
	font-weight: 400;
}

.linked_stage_control span {
	flex: 1 1 180px;
}

.builder_card_focus {
	box-shadow: 0 0 0 3px rgba(102, 168, 189, 0.35);
}

.asset_row {
	display: grid;
	grid-template-columns: 1fr minmax(220px, auto);
	gap: 12px;
	align-items: center;
}

.asset_panel {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 16px;
	align-items: start;
}

.asset_controls {
	display: grid;
	gap: 10px;
}

.asset_preview {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 128px;
	aspect-ratio: 4 / 3;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 8px;
	background: #f6f8f8;
	color: var(--brand-color-4);
	overflow: hidden;
	text-decoration: none;
	box-sizing: border-box;
}

.asset_preview.empty {
	border-style: dashed;
}

.asset_thumb {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}

.file_preview {
	padding: 12px;
	word-break: break-word;
}

.option_asset_preview {
	width: min(220px, 100%);
	margin: 10px 0 14px;
}

.option_asset_editor {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
	gap: 16px;
	margin-top: 16px;
}

.option_asset_group {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	background: #f6f8f8;
	box-sizing: border-box;
}

.option_asset_group .pdf_chip_list {
	min-height: 44px;
	margin: 10px 0 14px;
}

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

.asset_actions input[type="file"] {
	flex: 1 1 190px;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.upload_status {
	min-height: 1.4em;
	color: var(--brand-color-3);
	font-size: 0.95em;
}

.upload_status.error {
	color: #b42318;
}

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

.media_toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 12px;
}

.media_toolbar h3,
.media_toolbar p {
	margin: 0;
}

.media_toolbar p {
	color: #64748b;
	font-size: 0.92em;
}

.media_search {
	min-width: min(100%, 240px);
}

.media_drop_zone {
	display: grid;
	gap: 6px;
	place-items: center;
	min-height: 116px;
	padding: 18px;
	border: 1px dashed #94a3b8;
	border-radius: 8px;
	background: #f8fafc;
	color: #334155;
	text-align: center;
	cursor: pointer;
	box-sizing: border-box;
}

.media_drop_zone.is_dragging {
	border-color: var(--brand-color-2);
	background: rgba(102, 168, 189, 0.12);
}

.media_drop_zone input {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	opacity: 0;
	pointer-events: none;
}

.media_drop_zone span,
.media_card_body small {
	color: #64748b;
	font-size: 12px;
}

.media_grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}

.media_card {
	display: grid;
	gap: 10px;
	min-width: 0;
	padding: 10px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
}

.media_thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	border-radius: 6px;
	background: #f1f5f9;
	overflow: hidden;
	text-decoration: none;
}

.media_thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: #fff;
}

.media_file_icon {
	color: #475569;
	font-weight: 800;
	letter-spacing: 0;
}

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

.media_card_body strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.media_card_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.media_card_actions .small_button {
	margin: 0;
}

.media_empty {
	padding: 16px;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	background: #f8fafc;
	color: #64748b;
	text-align: center;
}

.media_picker_overlay {
	position: fixed;
	z-index: 2000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(15, 23, 42, 0.54);
	box-sizing: border-box;
}

.media_picker_panel {
	display: grid;
	gap: 14px;
	width: min(960px, 100%);
	max-height: min(860px, 92vh);
	padding: 20px;
	border-radius: 8px;
	background: #fff;
	overflow: auto;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
	box-sizing: border-box;
}

.pdf_chip_list {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.pdf_preview_card {
	display: grid;
	gap: 8px;
	min-width: 0;
	padding: 8px;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.pdf_preview_frame {
	width: 100%;
	height: 260px;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 6px;
	background: #f7f8f8;
	box-sizing: border-box;
}

.pdf_preview_frame object {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.pdf_preview_frame p {
	margin: 12px;
	font-size: 0.95em;
}

.pdf_preview_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	min-width: 0;
}

.pdf_preview_actions a {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	direction: ltr;
}

.pdf_preview_actions .small_button {
	padding: 4px 8px;
}

.empty_asset_note {
	color: var(--brand-color-4);
}

.qr_list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 12px;
}

.qr_card {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 8px;
	text-align: center;
}

.qr_code,
.qr_code canvas,
.qr_code img {
	width: 220px;
	height: 220px;
	max-width: 100%;
}

.qr_code {
	border: 1px solid rgba(0, 0, 0, 0.14);
	background: #fff;
	box-sizing: border-box;
}

.qr_code canvas,
.qr_code img {
	display: block;
}

.qr_status {
	min-height: 1.3em;
	color: var(--brand-color-4);
	font-size: 0.85em;
}

.qr_status.error {
	color: #b42318;
}

.qr_card code {
	direction: ltr;
	font-size: 0.75em;
	word-break: break-all;
}

.project_page .container {
	min-height: 100vh;
	height: auto;
}

.project_logo {
	width: 20vw;
	max-width: 200px;
	height: auto;
}

.app_icon_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(250px, 1fr));
	gap: 16px;
}

.app_icon_preview .asset_thumb {
	object-fit: contain;
}

@media (max-width: 720px) {
	.app_icon_grid {
		grid-template-columns: 1fr;
	}
}

.project_stage_host,
.project_form_host,
.closed_project {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.project_stage_host {
	position: relative;
	overflow: hidden;
}

.project_stage_panel {
	position: relative;
	width: 100%;
	will-change: opacity, transform;
}

.project_stage_track {
	display: flex;
	width: 200%;
	direction: ltr;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	will-change: transform;
}

.project_stage_track.is_sliding {
	transition: transform 0.48s ease;
}

.project_stage_track .project_stage_panel {
	flex: 0 0 50%;
	width: 50%;
	backface-visibility: hidden;
	transform: translateZ(0);
}

.project_stage_host.is_animating[data-stage-transition="slide"] {
	contain: paint;
	isolation: isolate;
	pointer-events: none;
}

.project_stage_host.is_animating[data-stage-transition="slide"] .city_img,
.project_stage_host.is_animating[data-stage-transition="slide"] .city_item_inner,
.project_stage_host.is_animating[data-stage-transition="slide"] .city_item_overlay,
.project_stage_host.is_animating[data-stage-transition="slide"] .city_item_title,
.project_stage_host.is_animating[data-stage-transition="slide"] .city_item_check,
.project_stage_host.is_animating[data-stage-transition="slide"] .checked_icon {
	animation: none !important;
	transition: none !important;
}

.project_stage_host.is_animating .stage_transition_out {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.project_stage_host[data-stage-transition="fade"] .stage_transition_in {
	animation: project-fade-in 0.42s ease both;
}

.project_stage_host[data-stage-transition="fade"] .stage_transition_out {
	animation: project-fade-out 0.42s ease both;
}

@keyframes project-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes project-fade-out {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.project_stage_track.is_sliding {
		transition: none !important;
	}

	.project_stage_host .stage_transition_in,
	.project_stage_host .stage_transition_out {
		animation: none !important;
	}
}

.project_stage_host .city_item {
	border: 0;
	text-align: inherit;
}

.project_stage_host .city_item.selected {
	border: 0;
}

.form_errors {
	min-height: 1.4em;
	color: #b42318;
}

.closed_project {
	padding: 80px 20px;
	text-align: center;
}

.lead_stats {
	width: 100%;
	margin: -8px 0 18px;
}

.lead_stats_toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 42px;
	padding: 8px 12px;
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.16);
	border-radius: 5px;
	background: #fff;
	color: var(--brand-color-1);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.lead_stats_panel {
	display: grid;
	grid-template-columns: repeat(3, minmax(240px, 1fr));
	gap: 14px;
	width: 100%;
	margin-top: 12px;
	padding: 14px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.lead_stats_panel[hidden] {
	display: none;
}

.lead_stats_card {
	min-width: 0;
	padding: 12px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 6px;
	background: #fbfdfd;
	box-sizing: border-box;
}

.lead_stats_card h2 {
	margin: 0 0 12px;
	font-size: 1.05em;
}

.lead_chart_empty {
	margin: 0;
	padding: 34px 10px;
	color: var(--brand-color-4);
	text-align: center;
}

.lead_pie_chart {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
}

.lead_pie_chart svg {
	width: 170px;
	height: 170px;
	overflow: visible;
}

.lead_pie_total {
	fill: var(--brand-color-1);
	font-size: 26px;
	font-weight: 700;
}

.lead_pie_label {
	fill: var(--brand-color-4);
	font-size: 12px;
}

.lead_chart_legend {
	display: flex;
	flex-flow: column;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lead_chart_legend li {
	display: grid;
	grid-template-columns: 12px minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	font-size: 0.95em;
}

.lead_chart_legend span:nth-child(2) {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lead_chart_swatch {
	width: 12px;
	height: 12px;
	border-radius: 3px;
}

.lead_hour_summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-bottom: 14px;
	font-size: 0.95em;
}

.lead_hour_chart {
	display: grid;
	grid-template-columns: repeat(24, minmax(12px, 1fr));
	gap: 4px;
	align-items: end;
	height: 180px;
	padding: 10px 0 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	direction: ltr;
}

.lead_hour {
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
	min-width: 0;
}

.lead_hour_bar {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	min-height: 0;
	border-radius: 4px 4px 0 0;
	background: var(--brand-color-2);
	color: #fff;
	font-size: 0.72em;
	box-sizing: border-box;
}

.lead_hour_bar.is_hot {
	background: var(--brand-color-3);
}

.lead_hour_bar.is_low {
	background: #8aa678;
}

.lead_hour_bar span {
	padding-top: 3px;
}

.lead_hour small {
	margin-top: 6px;
	color: var(--brand-color-4);
	font-size: 0.7em;
	writing-mode: vertical-rl;
}

.lead_project_count_summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin-bottom: 14px;
	font-size: 0.95em;
}

.lead_project_count_chart {
	display: flex;
	flex-flow: column;
	gap: 12px;
	padding: 6px 0;
}

.lead_project_count_row {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) 34px;
	gap: 10px;
	align-items: center;
	min-width: 0;
	direction: ltr;
}

.lead_project_count_label {
	overflow: hidden;
	color: var(--brand-color-1);
	font-size: 0.85em;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lead_project_count_track {
	position: relative;
	height: 26px;
	border-radius: 999px;
	background: rgba(102, 168, 189, 0.12);
}

.lead_project_count_lollipop {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	min-width: 18px;
	box-sizing: border-box;
}

.lead_project_count_line {
	display: block;
	width: 100%;
	height: 3px;
	border-radius: 999px;
	background: var(--brand-color-2);
}

.lead_project_count_dot {
	position: absolute;
	left: calc(100% - 9px);
	width: 18px;
	height: 18px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--brand-color-2);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.lead_project_count_lollipop.is_hot .lead_project_count_line,
.lead_project_count_lollipop.is_hot .lead_project_count_dot {
	background: var(--brand-color-3);
}

.lead_project_count_row strong {
	color: var(--brand-color-1);
	font-size: 0.9em;
	text-align: right;
}

.lead_filters {
	display: grid;
	grid-template-columns: repeat(6, minmax(140px, 1fr));
	gap: 12px;
	align-items: end;
	margin: 0 0 18px;
}

.lead_filter_summary {
	margin: 4px 0 0;
	color: var(--brand-color-4);
	font-size: 0.95em;
	line-height: 1.35;
}

.lead_filters_toggle {
	display: none;
}

.lead_filters > label,
.lead_filter_field {
	position: relative;
	display: flex;
	flex-flow: column;
	gap: 6px;
	font-weight: 700;
	min-width: 0;
}

.lead_filter_label {
	display: block;
	font-weight: 700;
}

.lead_filters input:not([type="checkbox"]),
.lead_filters select,
.project_filter_toggle,
.lead_filters .submit_btn {
	width: 100%;
	height: 58px;
	min-height: 58px;
	padding: 0 14px;
	margin: 0;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	background: #fff;
	color: var(--brand-color-1);
	font: inherit;
	box-sizing: border-box;
}

.project_filter_toggle,
.lead_filters .submit_btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	text-align: inherit;
}

.lead_filters .submit_btn {
	justify-content: center;
}

.project_filter_toggle:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.project_filter_chevron {
	flex: 0 0 auto;
	font-size: 0.8em;
	line-height: 1;
}

.project_filter_panel {
	position: absolute;
	z-index: 50;
	top: calc(100% + 6px);
	right: 0;
	width: 100%;
	max-height: 260px;
	padding: 8px;
	overflow: auto;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.14);
	box-sizing: border-box;
}

.project_filter_option,
.project_filter_empty {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 7px 8px;
	border-radius: 5px;
	font-weight: 500;
	box-sizing: border-box;
}

.project_filter_option:hover {
	background: rgba(102, 168, 189, 0.12);
}

.project_filter_option input {
	width: auto;
	margin: 0;
}

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

.all_projects_option {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 5px 5px 0 0;
}

.lead_filters .is_disabled {
	opacity: 0.55;
}

.lead_table {
	overflow-x: auto;
}

.lead_card_list {
	display: none;
}

.lead_table table {
	width: 100%;
	border-collapse: collapse;
	direction: ltr;
	text-align: left;
}

.lead_table th,
.lead_table td {
	padding: 10px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	vertical-align: top;
}

.lead_action_header,
.lead_action_cell {
	width: 54px;
	text-align: center;
}

.lead_icon_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 7px;
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.14);
	border-radius: 6px;
	background: #fff;
	cursor: pointer;
	box-sizing: border-box;
}

.lead_icon_button img {
	width: 18px;
	height: 18px;
	object-fit: contain;
}

.lead_edit_row td {
	background: #f8fbfb;
	direction: rtl;
	text-align: right;
}

.lead_edit_form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

.lead_edit_form label {
	display: flex;
	flex-flow: column;
	gap: 6px;
	font-weight: 700;
}

.lead_edit_form input,
.lead_edit_form select,
.lead_edit_form textarea {
	width: 100%;
	padding: 10px;
	margin: 0;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	background: #fff;
	font: inherit;
	box-sizing: border-box;
}

.lead_notes_field {
	grid-column: 1 / -1;
}

.lead_edit_actions {
	display: flex;
	gap: 10px;
	align-items: end;
}

.lead_edit_actions .submit_btn {
	margin: 0;
}

.lead_card {
	min-width: 0;
	padding: 14px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}

.lead_card_summary {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(0, 1fr) 28px;
	gap: 10px;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: inherit;
	cursor: pointer;
	font: inherit;
}

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

.lead_card_identity strong,
.lead_card_identity span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.lead_card_identity span {
	color: var(--brand-color-4);
	font-weight: 700;
}

.lead_card_chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--brand-color-3);
	color: #fff;
	font-weight: 800;
	line-height: 1;
}

.lead_card_body {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.lead_card_header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
	margin-bottom: 12px;
}

.lead_card_header h3,
.lead_card_header p {
	margin: 0;
}

.lead_card_header h3 {
	overflow-wrap: anywhere;
	font-size: 1.08em;
	line-height: 1.25;
}

.lead_card_header p {
	margin-top: 3px;
	color: var(--brand-color-4);
	font-size: 0.9em;
}

.lead_card_actions {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

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

.lead_card_meta_item {
	min-width: 0;
	padding: 8px;
	border-radius: 6px;
	background: #f6f8f8;
	box-sizing: border-box;
}

.lead_card_meta_item span,
.lead_card_meta_item strong {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.lead_card_meta_item span {
	margin-bottom: 3px;
	color: var(--brand-color-4);
	font-size: 0.78em;
	font-weight: 700;
}

.lead_card_meta_item strong {
	color: var(--brand-color-1);
	font-size: 0.95em;
	font-weight: 700;
}

.lead_card_edit {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.lead_trash {
	margin: 0 0 18px;
}

.lead_trash_toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 42px;
	padding: 8px 12px;
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.16);
	border-radius: 5px;
	background: #fff;
	color: var(--brand-color-1);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.lead_trash_panel {
	margin-top: 12px;
}

.lead_trash_panel[hidden] {
	display: none;
}

.lead_modal {
	position: fixed;
	z-index: 1000;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.45);
	box-sizing: border-box;
}

.lead_modal[hidden] {
	display: none;
}

.lead_modal_panel {
	width: min(420px, 100%);
	padding: 24px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
	text-align: right;
}

.lead_modal_panel h2 {
	margin-top: 0;
	font-size: 1.35em;
}

.lead_modal_actions {
	display: flex;
	gap: 10px;
	justify-content: flex-end;
	margin-top: 20px;
}

.lead_modal_actions .submit_btn {
	margin: 0;
}

.submit_btn.danger {
	background: #b42318;
	border-color: #b42318;
	color: #fff;
}

.event_company_bar {
	display: grid;
	grid-template-columns: repeat(5, minmax(160px, 1fr));
	gap: 12px;
	align-items: end;
	margin-bottom: 18px;
}

.embed_snippet_grid {
	display: grid;
	gap: 14px;
}

.embed_snippet_card {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: grid;
	gap: 10px;
	padding: 14px;
}

.embed_snippet_card h3 {
	font-size: 16px;
	margin: 0;
}

.embed_snippet_card code {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	display: block;
	direction: ltr;
	font-size: 12px;
	line-height: 1.5;
	overflow-x: auto;
	padding: 10px;
	text-align: left;
	white-space: pre-wrap;
}

.project_gallery {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.project_gallery_card,
.project_gallery_empty {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: grid;
	gap: 12px;
	padding: 12px;
}

.project_gallery_card.is_legacy {
	border-color: #f0c36d;
}

.project_gallery_pick {
	align-items: stretch;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: grid;
	gap: 10px;
	padding: 0;
	text-align: start;
	width: 100%;
}

.project_gallery_media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: #f8fafc;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.project_gallery_media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.project_gallery_media span {
	color: #64748b;
	font-size: 32px;
	font-weight: 700;
}

.project_gallery_body {
	display: grid;
	gap: 4px;
}

.project_gallery_body strong {
	font-size: 16px;
	line-height: 1.25;
}

.project_gallery_body small,
.project_gallery_meta {
	color: #64748b;
	font-size: 12px;
}

.project_gallery_meta,
.project_gallery_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.project_gallery_actions .small_button {
	margin: 0;
}

.project_gallery_new {
	border-style: dashed;
}

.project_badge_warning {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 999px;
	color: #9a3412;
	padding: 2px 8px;
}

.companies_toolbar {
	align-items: end;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(220px, 1fr) minmax(140px, 220px) auto;
	margin-bottom: 18px;
}

.companies_layout {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
}

.companies_gallery {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.company_card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: grid;
	gap: 12px;
	padding: 14px;
}

.company_card.is_inactive {
	opacity: .72;
}

.company_card_pick {
	align-items: center;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: grid;
	gap: 12px;
	grid-template-columns: 64px minmax(0, 1fr);
	padding: 0;
	text-align: start;
}

.company_card_logo {
	align-items: center;
	aspect-ratio: 1;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.company_card_logo img {
	height: 100%;
	object-fit: contain;
	padding: 8px;
	width: 100%;
}

.company_card_logo span {
	color: #64748b;
	font-size: 26px;
	font-weight: 700;
}

.company_card_title {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.company_card_title strong {
	font-size: 17px;
	line-height: 1.25;
}

.company_card_title small,
.company_card_stats {
	color: #64748b;
	font-size: 12px;
}

.company_card_stats,
.company_card_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.company_card_stats span:not(.project_badge_warning) {
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	padding: 2px 8px;
}

.company_card_actions .small_button {
	margin: 0;
}

.admin_notice {
	margin: 0 0 18px;
	padding: 12px 14px;
	border: 1px solid rgba(0, 106, 153, 0.25);
	border-radius: 6px;
	background: rgba(102, 168, 189, 0.1);
	color: var(--brand-color-3);
	font-weight: 700;
	line-height: 1.35;
}

.admin_notice.error {
	border-color: rgba(180, 35, 24, 0.35);
	background: rgba(180, 35, 24, 0.08);
	color: #b42318;
}

.global_users_list {
	display: grid;
	gap: 12px;
}

.global_user_card {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.global_user_summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 34px;
	gap: 12px;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 14px;
	border: 0;
	background: transparent;
	color: var(--brand-color-1);
	text-align: inherit;
	cursor: pointer;
	font: inherit;
}

.global_user_summary strong,
.global_user_summary small {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.global_user_summary small {
	margin-top: 3px;
	color: var(--brand-color-4);
	font-weight: 700;
}

.global_user_badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
}

.global_user_badges span {
	padding: 5px 8px;
	border-radius: 5px;
	background: rgba(102, 168, 189, 0.12);
	font-size: 0.86em;
	font-weight: 800;
}

.global_user_badges .is_pending {
	background: rgba(180, 35, 24, 0.1);
	color: #b42318;
}

.company_user_card {
	border-color: rgba(0, 0, 0, 0.08);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.company_user_summary {
	min-height: 64px;
}

.company_user_editor select[multiple] {
	min-height: 120px;
}

.global_user_editor {
	display: grid;
	gap: 14px;
	padding: 14px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	background: #f8fbfb;
}

.global_user_meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 10px;
	align-items: center;
}

.global_user_meta img {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	object-fit: cover;
}

.global_user_meta div {
	min-width: 0;
	padding: 8px;
	border-radius: 6px;
	background: #fff;
}

.global_user_meta span,
.global_user_meta strong,
.global_user_meta code {
	display: block;
	min-width: 0;
	overflow-wrap: anywhere;
}

.global_user_meta span {
	margin-bottom: 3px;
	color: var(--brand-color-4);
	font-size: 0.78em;
	font-weight: 800;
}

.global_user_editor select[multiple] {
	width: 100%;
	padding: 8px;
	border: 2px solid var(--brand-color-2);
	border-radius: 5px;
	background: #fff;
	font: inherit;
	box-sizing: border-box;
}

.global_user_actions {
	display: flex;
	justify-content: flex-end;
}

.event_company_bar label,
.event_editor label,
.event_fields_editor label {
	display: flex;
	flex-flow: column;
	gap: 6px;
	font-weight: 700;
}

.events_layout {
	display: grid;
	grid-template-columns: minmax(260px, 340px) 1fr;
	gap: 18px;
	margin-bottom: 18px;
}

.event_pick {
	width: 100%;
	margin: 0;
	background: #fff;
	color: var(--brand-color-1);
	text-align: inherit;
	cursor: pointer;
}

.event_pick.active {
	border-color: var(--brand-color-3);
	box-shadow: inset 0 0 0 1px var(--brand-color-3);
}

.event_fields_editor {
	display: grid;
	gap: 10px;
}

.event_field_row {
	display: grid;
	grid-template-columns: 1fr 1.4fr 140px auto auto;
	gap: 10px;
	align-items: end;
	padding: 12px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	background: #f8fbfb;
}

.event_editor_actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 12px;
}

.event_public_page {
	min-height: 100vh;
	padding: 32px 16px;
	background: #f6f8f8;
	box-sizing: border-box;
}

.event_public_panel {
	width: min(680px, 100%);
	margin: 0 auto;
	padding: 30px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	background: var(--event-bg, #fff);
	color: var(--event-text, var(--brand-color-1));
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
}

.event_company_logo {
	display: block;
	max-width: 170px;
	max-height: 90px;
	margin: 0 auto 20px;
	object-fit: contain;
}

.event_kicker {
	margin: 0 0 6px;
	color: var(--event-accent, var(--brand-color-3));
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0;
}

.event_public_panel h1 {
	margin: 0 0 10px;
	font-size: 2.2em;
	line-height: 1.12;
	overflow-wrap: anywhere;
}

.event_date {
	margin: 0 0 12px;
	font-size: 1.18em;
	font-weight: 700;
}

.event_details {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 22px;
}

.event_details span {
	padding: 6px 10px;
	border-radius: 5px;
	background: rgba(102, 168, 189, 0.12);
	font-weight: 700;
}

.event_registration_form {
	display: grid;
	gap: 12px;
}

.event_registration_form label {
	display: flex;
	flex-flow: column;
	gap: 6px;
	font-weight: 700;
}

.event_registration_form input:not([type="checkbox"]) {
	width: 100%;
	padding: 14px;
	border: 2px solid var(--event-accent, var(--brand-color-2));
	border-radius: 5px;
	background: #fff;
	font: inherit;
	box-sizing: border-box;
}

.event_checkbox {
	flex-flow: row !important;
	align-items: center;
}

.event_checkbox input {
	width: auto;
	margin: 0;
}

.event_registration_form .submit_btn.active {
	justify-content: center;
	border-color: var(--event-accent, var(--brand-color-2));
	background: var(--event-accent, var(--brand-color-2));
}

.form_errors {
	min-height: 1.2em;
	color: #b42318;
	font-weight: 700;
}

@media (max-width: 900px) {
	.companies_toolbar,
	.companies_layout {
		grid-template-columns: 1fr;
	}

	.event_company_bar,
	.events_layout {
		grid-template-columns: 1fr;
	}

	.event_field_row {
		grid-template-columns: 1fr;
	}

	.global_user_summary {
		grid-template-columns: minmax(0, 1fr) 34px;
	}

	.global_user_badges {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}
}

@media (max-width: 760px) {
	.auth_page,
	.admin_page {
		min-width: 0;
	}

	.admin_page {
		padding: 14px;
		padding-bottom: calc(92px + env(safe-area-inset-bottom));
	}

	.auth_panel,
	.admin_section {
		border-radius: 7px;
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
	}

	.admin_header {
		align-items: stretch;
		flex-flow: column;
		gap: 12px;
		margin-bottom: 16px;
	}

	.dashboard_topbar {
		padding: 12px;
	}

	.dashboard_company_identity {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.dashboard_company_logo {
		width: 56px;
		height: 56px;
	}

	.dashboard_user_menu {
		width: 100%;
	}

	.user_menu_button {
		justify-content: space-between;
		width: 100%;
	}

	.user_menu_panel {
		right: 0;
		left: 0;
		width: auto;
	}

	.admin_header h1 {
		margin-bottom: 4px;
		font-size: 1.55em;
		line-height: 1.2;
		overflow-wrap: anywhere;
	}

	.admin_header p {
		margin: 0;
	}

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

	.admin_actions .submit_btn {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 46px;
		margin: 0;
		padding: 10px;
		text-align: center;
	}

	.admin_tabs {
		position: sticky;
		z-index: 20;
		top: 0;
		margin-inline: -14px;
		padding: 0 14px;
		overflow-x: auto;
		background: #f6f8f8;
	}

	.admin_tab {
		flex: 1 0 120px;
		min-height: 46px;
	}

	.admin_section {
		padding: 14px;
	}

	.form_grid,
	.admin_grid,
	.option_asset_editor,
	.app_icon_grid,
	.recipient_row {
		grid-template-columns: minmax(0, 1fr);
	}

	.panel_header {
		align-items: stretch;
		flex-flow: column;
	}

	.panel_header .submit_btn,
	.panel_header .small_button {
		width: 100%;
		margin: 0;
	}

	.project_page .city_selector {
		gap: 10px;
	}

	.project_page .city_item_title {
		padding: 6px 6px 24px;
		font-size: 0.85em;
		line-height: 1.15;
	}

	.lead_stats {
		width: 100%;
		margin: 0 0 12px;
	}

	.lead_stats_panel {
		grid-template-columns: 1fr;
		padding: 10px;
		box-shadow: none;
	}

	.lead_pie_chart {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.lead_filters {
		display: none;
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: 14px;
	}

	.lead_filters.is_mobile_open {
		display: grid;
	}

	.lead_filters_toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 46px;
		padding: 9px 12px;
		margin: 0 0 10px;
		border: 1px solid rgba(0, 0, 0, 0.16);
		border-radius: 5px;
		background: #fff;
		color: var(--brand-color-1);
		font: inherit;
		font-weight: 700;
		cursor: pointer;
	}

	.project_filter_panel {
		position: fixed;
		z-index: 80;
		inset: auto 14px calc(14px + env(safe-area-inset-bottom));
		width: auto;
		max-height: min(420px, 70vh);
	}

	.lead_table {
		overflow: visible;
	}

	.lead_desktop_table {
		display: none;
	}

	.lead_card_list {
		display: grid;
		gap: 8px;
	}

	.lead_card {
		padding: 0;
		overflow: hidden;
		border-color: rgba(0, 0, 0, 0.14);
		box-shadow: none;
	}

	.lead_card_summary {
		min-height: 48px;
		padding: 10px 12px;
	}

	.lead_card.is_expanded .lead_card_summary {
		background: #f8fbfb;
	}

	.lead_card_body {
		margin: 0;
		padding: 12px;
		border-top-color: rgba(0, 0, 0, 0.08);
	}

	.lead_card_header {
		align-items: center;
		margin-bottom: 10px;
	}

	.lead_card_header p {
		margin: 0;
	}

	.lead_card_meta {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

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

	.lead_edit_actions {
		position: sticky;
		bottom: 0;
		z-index: 5;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-top: 10px;
		background: linear-gradient(to top, #fff 72%, rgba(255, 255, 255, 0));
	}

	.lead_edit_actions .submit_btn {
		min-height: 46px;
	}

	.admin_tab_panel.active {
		grid-template-columns: 1fr;
	}

	.admin_sidebar {
		position: static;
		max-height: none;
		overflow: visible;
		padding: 14px;
		box-shadow: none;
	}

	.admin_sidebar .panel_header {
		flex-flow: row;
		align-items: center;
	}

	.admin_sidebar .panel_header .submit_btn {
		width: auto;
	}

	.admin_list {
		gap: 8px;
	}

	#projectList {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(190px, 74vw);
		overflow-x: auto;
		padding-bottom: 4px;
		scroll-snap-type: x mandatory;
	}

	#projectList .project_pick {
		scroll-snap-align: start;
	}

	.admin_sidebar_actions {
		position: fixed;
		z-index: 70;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 0;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.97);
		box-shadow: 0 -10px 26px rgba(0, 0, 0, 0.12);
	}

	.admin_sidebar_actions .submit_btn {
		min-height: 44px;
		margin: 0;
		padding: 8px;
		text-align: center;
	}

	.project_editor {
		min-width: 0;
	}

	.builder_section {
		margin: 18px 0;
		padding-top: 16px;
	}

	.builder_section > h3,
	.builder_section > .panel_header h3 {
		font-size: 1.08em;
		line-height: 1.25;
	}

	.builder_card,
	.option_card,
	.qr_card {
		padding: 12px;
	}

	.option_summary {
		grid-template-columns: 62px minmax(0, 1fr) 28px;
		min-height: 68px;
	}

	.option_summary_image {
		width: 62px;
		height: 48px;
	}

	.asset_row {
		grid-template-columns: 1fr;
	}

	.asset_panel {
		grid-template-columns: 1fr;
	}

	.editor_language_section .panel_header {
		align-items: flex-start;
		flex-flow: column;
	}

	.editor_language_tabs {
		justify-content: flex-start;
	}
}

@media (max-width: 420px) {
	.admin_page {
		padding: 10px;
		padding-bottom: calc(100px + env(safe-area-inset-bottom));
	}

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

	.admin_sidebar_actions {
		gap: 6px;
		padding-inline: 8px;
	}

	.admin_sidebar_actions .submit_btn {
		font-size: 0.9em;
	}

	.lead_card {
		padding: 0;
	}

	.lead_card_summary {
		grid-template-columns: minmax(0, 1fr) 26px;
		padding: 9px 10px;
	}

	.lead_card_identity {
		gap: 8px;
	}

	.lead_card_identity span {
		font-size: 0.92em;
	}

	.lead_card_chevron {
		width: 26px;
		height: 26px;
	}

	.lead_card_actions {
		width: 100%;
		justify-content: flex-end;
	}

	.project_page .city_item_title {
		padding: 5px 5px 18px;
		font-size: 0.72em;
		line-height: 1.12;
	}
}
