/* Shared tokens (mirror theme; dark via html[data-theme]) */
:root {
	color-scheme: light;
	--mt-ink: #0a1018;
	--mt-steel: #3d4f63;
	--mt-mist: #d5e0ea;
	--mt-surface: #eef2f6;
	--mt-accent: #0e7490;
	--mt-accent-deep: #0e7490;
	--mt-signal: #ca8a04;
	--mt-success: #0f766e;
	--mt-white: #ffffff;
	--mt-line: rgba(7, 11, 18, 0.12);
	--mt-panel: #ffffff;
	--mt-panel-2: #f7fafc;
	--mt-text-muted: #3d4f63;
	--mt-on-accent: #ffffff;
	--mt-danger: #dc2626;
	--mt-danger-bg: #fef2f2;
	--mt-danger-border: #fecaca;
	--mt-warning: #b45309;
	--mt-warning-bg: #fffbeb;
	--mt-warning-border: #fde68a;
	--mt-info: #2f6fed;
	--mt-info-bg: #eff6ff;
	--mt-info-border: #bfdbfe;
	--mt-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--mt-font: "Vazirmatn", Tahoma, Arial, sans-serif;
	/* Global button standard (solid teal CTA) */
	--mt-btn-bg: #0e7490;
	--mt-btn-bg-2: #0f766e;
	--mt-btn-fg: #ffffff;
	--mt-btn-radius: 0.6rem;
	--mt-btn-font: 0.85rem;
	--mt-btn-weight: 600;
	--mt-btn-pad-y: 0.5rem;
	--mt-btn-pad-x: 1.05rem;
	--mt-btn-min-h: 2.3rem;
	--mt-btn-shadow: 0 6px 14px rgba(14, 116, 144, 0.18);
	--mt-btn-shadow-hover: 0 10px 20px rgba(14, 116, 144, 0.24);
}

button,
.mt-btn,
.mt-app button,
.mt-app input,
.mt-app select,
.mt-app textarea {
	font-family: var(--mt-font, "Vazirmatn", Tahoma, Arial, sans-serif);
}

/**
 * MechaTeams global button standard.
 * Default / primary = solid teal CTA.
 * Text must be perfectly centered (H + V) for Persian typefaces.
 */
.mt-btn,
a.mt-btn,
button.mt-btn,
input.mt-btn[type="submit"],
input.mt-btn[type="button"],
.mt-app .mt-btn,
.mt-app a.mt-btn,
.mt-app button.mt-btn,
.mt-app input[type="submit"].mt-btn,
.mt-app input[type="button"].mt-btn {
	box-sizing: border-box !important;
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	align-content: center !important;
	gap: 0.35rem;
	width: auto;
	height: var(--mt-btn-min-h) !important;
	min-height: var(--mt-btn-min-h) !important;
	max-height: var(--mt-btn-min-h) !important;
	margin: 0;
	/* True centering comes from the fixed height + align-items: center above;
	 * padding must stay symmetric or it re-introduces the offset. */
	padding-block: 0 !important;
	padding-inline: var(--mt-btn-pad-x) !important;
	border: 1px solid transparent;
	border-radius: var(--mt-btn-radius) !important;
	font-family: var(--mt-font, "Vazirmatn", Tahoma, Arial, sans-serif) !important;
	font-size: var(--mt-btn-font) !important;
	font-weight: var(--mt-btn-weight) !important;
	font-style: normal !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	transition: transform 0.2s var(--mt-ease), box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	appearance: none;
	-webkit-appearance: none;
}

/* Default solid teal ? never force white onto outline/danger variants */
.mt-btn:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
a.mt-btn:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
button.mt-btn:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
.mt-app .mt-btn:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
.mt-app a.mt-btn:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
.mt-app button.mt-btn:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger) {
	background: linear-gradient(135deg, var(--mt-btn-bg), var(--mt-btn-bg-2));
	color: var(--mt-btn-fg) !important;
	-webkit-text-fill-color: var(--mt-btn-fg) !important;
	box-shadow: var(--mt-btn-shadow);
	border-color: transparent;
}

/* Child labels stay centered; no extra transforms */
.mt-btn > span,
.mt-btn > strong,
.mt-btn > em,
.mt-app .mt-btn > span,
.mt-app .mt-btn > strong,
.mt-app .mt-btn > em {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit !important;
	font: inherit !important;
	color: inherit !important;
	transform: none !important;
}

.mt-btn:hover,
a.mt-btn:hover,
button.mt-btn:hover,
.mt-app .mt-btn:hover,
.mt-app a.mt-btn:hover,
.mt-app button.mt-btn:hover {
	filter: brightness(1.05);
	box-shadow: var(--mt-btn-shadow-hover);
	transform: translateY(-1px);
}

.mt-btn:hover:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
a.mt-btn:hover:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
button.mt-btn:hover:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
.mt-app .mt-btn:hover:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
.mt-app a.mt-btn:hover:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger),
.mt-app button.mt-btn:hover:not(.mt-btn--outline):not(.mt-btn--ghost):not(.mt-btn--danger) {
	color: var(--mt-btn-fg) !important;
}

.mt-btn:focus-visible,
.mt-app .mt-btn:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--mt-btn-bg) 55%, #fff);
	outline-offset: 2px;
}

.mt-btn--primary,
.mt-btn--submit-project,
.mt-app .mt-btn--primary,
.mt-app .mt-btn--submit-project {
	background: linear-gradient(135deg, var(--mt-btn-bg), var(--mt-btn-bg-2)) !important;
	border: 0 !important;
	color: var(--mt-btn-fg) !important;
	box-shadow: var(--mt-btn-shadow) !important;
}

.mt-btn--outline,
.mt-btn--ghost,
a.mt-btn.mt-btn--outline,
a.mt-btn.mt-btn--ghost,
button.mt-btn.mt-btn--outline,
button.mt-btn.mt-btn--ghost,
.mt-app .mt-btn--outline,
.mt-app .mt-btn--ghost,
.mt-app a.mt-btn.mt-btn--outline,
.mt-app a.mt-btn.mt-btn--ghost,
.mt-app button.mt-btn.mt-btn--outline,
.mt-app button.mt-btn.mt-btn--ghost {
	background: var(--mt-panel, #fff) !important;
	border: 1px solid color-mix(in srgb, var(--mt-btn-bg) 42%, transparent) !important;
	color: var(--mt-btn-bg) !important;
	-webkit-text-fill-color: var(--mt-btn-bg) !important;
	box-shadow: none !important;
}

.mt-btn--outline:hover,
.mt-btn--ghost:hover,
a.mt-btn.mt-btn--outline:hover,
a.mt-btn.mt-btn--ghost:hover,
button.mt-btn.mt-btn--outline:hover,
button.mt-btn.mt-btn--ghost:hover,
.mt-app .mt-btn--outline:hover,
.mt-app .mt-btn--ghost:hover,
.mt-app a.mt-btn.mt-btn--outline:hover,
.mt-app a.mt-btn.mt-btn--ghost:hover,
.mt-app button.mt-btn.mt-btn--outline:hover,
.mt-app button.mt-btn.mt-btn--ghost:hover {
	background: color-mix(in srgb, var(--mt-btn-bg) 8%, var(--mt-panel)) !important;
	border-color: var(--mt-btn-bg) !important;
	color: var(--mt-btn-bg) !important;
	-webkit-text-fill-color: var(--mt-btn-bg) !important;
	filter: none;
	box-shadow: 0 6px 14px rgba(14, 116, 144, 0.12) !important;
}

.mt-btn--danger,
a.mt-btn.mt-btn--danger,
button.mt-btn.mt-btn--danger,
.mt-app .mt-btn--danger,
.mt-app a.mt-btn.mt-btn--danger,
.mt-app button.mt-btn.mt-btn--danger {
	background: var(--mt-panel) !important;
	border: 1px solid var(--mt-danger) !important;
	color: var(--mt-danger) !important;
	-webkit-text-fill-color: var(--mt-danger) !important;
	box-shadow: none !important;
}

.mt-btn--danger:hover,
a.mt-btn.mt-btn--danger:hover,
button.mt-btn.mt-btn--danger:hover,
.mt-app .mt-btn--danger:hover,
.mt-app a.mt-btn.mt-btn--danger:hover,
.mt-app button.mt-btn.mt-btn--danger:hover {
	background: var(--mt-danger-bg) !important;
	border-color: var(--mt-danger) !important;
	color: var(--mt-danger) !important;
	-webkit-text-fill-color: var(--mt-danger) !important;
	filter: none;
	box-shadow: 0 6px 14px rgba(185, 28, 28, 0.12) !important;
}

.mt-btn--sm,
.mt-app .mt-btn--sm {
	height: 2rem !important;
	min-height: 2rem !important;
	max-height: 2rem !important;
	padding-block: 0 !important;
	padding-inline: 0.85rem !important;
	font-size: 0.8rem !important;
	line-height: 1 !important;
	border-radius: 0.5rem !important;
}

.mt-btn:disabled,
.mt-btn.is-disabled,
.mt-app .mt-btn:disabled,
.mt-app .mt-btn.is-disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none !important;
	filter: none !important;
	box-shadow: none !important;
}

/* Form submits without .mt-btn also follow the standard in panels */
.mt-app .mt-form-actions > button[type="submit"]:not(.mt-btn--outline):not(.mt-btn--danger):not(.mt-btn--ghost),
.mt-app .mt-form input[type="submit"]:not(.mt-btn--outline):not(.mt-btn--danger),
.mt-form-actions > button[type="submit"]:not(.mt-btn--outline):not(.mt-btn--danger),
.mt-form input[type="submit"]:not(.mt-btn--outline):not(.mt-btn--danger) {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: var(--mt-btn-min-h) !important;
	min-height: var(--mt-btn-min-h) !important;
	max-height: var(--mt-btn-min-h) !important;
	padding: 0 var(--mt-btn-pad-x) !important;
	border: 0 !important;
	border-radius: var(--mt-btn-radius) !important;
	background: linear-gradient(135deg, var(--mt-btn-bg), var(--mt-btn-bg-2)) !important;
	color: var(--mt-btn-fg) !important;
	font-family: var(--mt-font, "Vazirmatn", Tahoma, Arial, sans-serif) !important;
	font-size: var(--mt-btn-font) !important;
	font-weight: var(--mt-btn-weight) !important;
	line-height: 1 !important;
	text-align: center !important;
	cursor: pointer;
	box-shadow: var(--mt-btn-shadow);
}

html[data-theme="dark"],
html.mt-theme-dark {
	color-scheme: dark;
	--mt-ink: #f1f5f9;
	--mt-steel: #c5d0dc;
	--mt-mist: #1c2733;
	--mt-surface: #0b1220;
	--mt-accent: #22d3ee;
	--mt-accent-deep: #67e8f9;
	--mt-signal: #fbbf24;
	--mt-success: #2dd4bf;
	--mt-white: #ffffff;
	--mt-line: rgba(232, 238, 245, 0.16);
	--mt-panel: #121a26;
	--mt-panel-2: #182231;
	--mt-text-muted: #c5d0dc;
	--mt-on-accent: #041018;
	--mt-danger: #f87171;
	--mt-danger-bg: rgba(248, 113, 113, 0.12);
	--mt-danger-border: rgba(248, 113, 113, 0.32);
	--mt-warning: #fbbf24;
	--mt-warning-bg: rgba(251, 191, 36, 0.12);
	--mt-warning-border: rgba(251, 191, 36, 0.32);
	--mt-info: #60a5fa;
	--mt-info-bg: rgba(96, 165, 250, 0.12);
	--mt-info-border: rgba(96, 165, 250, 0.32);
}

/* Ensure panel form labels stay readable in both themes */
.mt-form label,
.mt-panel h2,
.mt-panel h3,
.mt-app__user strong {
	color: var(--mt-ink);
}

/* The theme's global block-editor h1-h6 styles are hero/marketing scale (up to ~6rem via
   clamp()); panel headings inside the app dashboard need their own, much smaller scale. */
.mt-panel h2 {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 0.2rem;
}
.mt-panel h3 {
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 0.2rem;
}

.mt-form input,
.mt-form select,
.mt-form textarea {
	color: var(--mt-ink);
	background: var(--mt-panel);
	border-color: var(--mt-line);
}

.mt-ms-repeater {
	display: grid;
	gap: 0.55rem;
	margin-top: 0.4rem;
}
.mt-ms-repeater__rows {
	display: grid;
	row-gap: 0.45rem !important;
	column-gap: 0;
}
.mt-ms-row {
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
	overflow: hidden;
	margin: 0 !important;
}
.mt-ms-row__editor {
	display: none;
	padding: 0.7rem 0.85rem;
	gap: 0.35rem;
}
.mt-ms-row.is-editing .mt-ms-row__editor {
	display: grid;
}
.mt-ms-row__summary {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.7rem 0.85rem;
}
.mt-ms-row.is-confirmed .mt-ms-row__summary {
	display: flex;
}
.mt-ms-row.is-confirmed {
	background: color-mix(in srgb, #0e7490 7%, var(--mt-panel));
	border-color: color-mix(in srgb, #0e7490 28%, var(--mt-line));
}
.mt-ms-row__top {
	display: grid !important;
	grid-template-columns: minmax(0, 1.55fr) minmax(6.5rem, 0.7fr);
	gap: 0.55rem;
	align-items: start;
	width: 100%;
}
.mt-ms-row__field {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin: 0;
	min-width: 0;
	width: 100%;
}
.mt-ms-row__field--role {
	max-width: 16rem;
}
.mt-ms-row__field--docs {
	width: 100%;
}
.mt-ms-row__field input,
.mt-ms-row__field select,
.mt-ms-row__field textarea {
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}
.mt-ms-row__label {
	display: block;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
	line-height: 1.35;
}
.mt-ms-row__actions {
	display: flex;
	justify-content: flex-start;
	gap: 0.4rem;
}
.mt-ms-row__summary-text {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--mt-ink);
	word-break: break-word;
}
.mt-ms-row__summary-actions {
	display: inline-flex;
	gap: 0.35rem;
	flex-shrink: 0;
}
.mt-ms-repeater__add {
	justify-self: start;
}
.mt-ms-repeater__sum.is-warn {
	color: var(--mt-warning);
}
.mt-industry-custom[hidden],
.mt-category-custom[hidden] {
	display: none !important;
}
.mt-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1rem;
}
.mt-form-actions--end {
	justify-content: flex-end;
}
.mt-btn--submit-project {
	min-width: 14rem;
}
.mt-bulletins__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
}
.mt-bulletin {
	position: relative;
	padding-inline-end: 2.2rem;
}
.mt-bulletin__close {
	position: absolute;
	inset-inline-end: 0.45rem;
	top: 0.4rem;
	width: 1.7rem;
	height: 1.7rem;
	border: 0;
	border-radius: 0.35rem;
	background: transparent;
	cursor: pointer;
	color: var(--mt-text-muted);
	font-size: 1.1rem;
}
@media (max-width: 720px) {
	.mt-ms-row__top {
		grid-template-columns: 1fr;
	}
	.mt-ms-row.is-confirmed .mt-ms-row__summary {
		flex-direction: column;
		align-items: stretch;
	}
}

.mt-table th,
.mt-table td {
	color: var(--mt-ink);
}

.mt-table th {
	color: var(--mt-text-muted);
}

.mt-app {
	display: grid;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
	margin-block: 1.5rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.mt-app__sidebar {
	position: sticky;
	top: 5.5rem;
}

.mt-app__brand {
	display: block;
	margin: 0 0 1rem;
	line-height: 0;
	text-decoration: none;
}

.mt-app__brand-plate {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #0a0a0a; /* intentionally fixed: logo plate stays dark in both themes */
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0.55rem;
	padding: 0.35rem 0.5rem;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
	line-height: 0;
}

.mt-app__brand img {
	display: block;
	width: auto;
	height: 2.4rem;
	max-width: 9.25rem;
	object-fit: contain;
	object-position: center;
}

.mt-app__brand--auth {
	margin: 0 0 1.25rem;
	text-align: center;
}

.mt-app__brand--auth .mt-app__brand-plate {
	margin-inline: auto;
}

.mt-app__brand--auth img {
	height: 2.85rem;
	max-width: 11rem;
}

.mt-panel--auth {
	max-width: 28rem;
	margin-inline: auto;
	text-align: center;
}

.mt-app__user {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
	margin-bottom: 1rem;
}

.mt-app__role-switch {
	flex: 1 1 100%;
	display: grid;
	gap: 0.25rem;
	margin-top: 0.35rem;
}

.mt-app__role-switch label {
	font-size: 0.8rem;
	color: var(--mt-text-muted);
}

.mt-app__role-switch select {
	color: var(--mt-ink);
	background-color: var(--mt-panel-2);
}

.mt-app__logout {
	flex: 1 1 100%;
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
}

.mt-app__logout a {
	color: var(--mt-danger);
	text-decoration: none;
}

.mt-app__nav {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.mt-app__nav a {
	text-decoration: none;
	padding: 0.55rem 0.7rem;
	border-radius: 2px;
	color: var(--mt-steel);
	font-weight: 600;
	font-size: 0.92rem;
}

.mt-app__nav a:hover,
.mt-app__nav a.is-active {
	background: color-mix(in srgb, var(--mt-accent) 10%, transparent);
	color: var(--mt-ink);
}

.mt-app__cms-hint {
	margin-top: 1.25rem;
	font-size: 0.85rem;
}

.mt-app__main {
	min-width: 0;
}

.mt-app-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.mt-finance-box {
	padding: 1rem;
	margin-bottom: 1rem;
	border: 1px solid var(--mt-line);
	background: color-mix(in srgb, var(--mt-accent) 6%, transparent);
	display: grid;
	gap: 0.5rem;
	font-size: 0.9rem;
}

.mt-finance-box form {
	margin-top: 0.35rem;
}

.mt-milestones-table {
	margin-top: 0.35rem;
}

.mt-milestones-table__banner {
	margin: 0 0 0.75rem;
	font-size: 0.84rem;
	line-height: 1.45;
}

.mt-milestones-table__grid {
	font-size: 0.82rem;
}

.mt-milestones-table__grid th {
	font-size: 0.78rem;
	font-weight: 600;
	white-space: nowrap;
	padding: 0.55rem 0.5rem;
}

.mt-milestones-table__grid td {
	padding: 0.5rem;
	vertical-align: middle;
	line-height: 1.4;
}

.mt-milestones-table__num {
	width: 2rem;
	color: var(--mt-text-muted, #64748b);
	font-variant-numeric: tabular-nums;
}

.mt-milestones-table__title {
	min-width: 10rem;
	max-width: 16rem;
}

.mt-milestones-table__pct,
.mt-milestones-table__amt {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	font-size: 0.8rem;
}

.mt-milestones-table__docs {
	color: var(--mt-text-muted, #64748b);
	font-size: 0.78rem;
}

.mt-milestones-table__status {
	font-size: 0.72rem;
	font-weight: 600;
	padding: 0.15rem 0.45rem;
}

.mt-milestones-table__status.is-released {
	background: var(--mt-success-bg, rgba(15, 118, 110, 0.12));
	color: var(--mt-success);
}

.mt-milestones-table__status.is-pending {
	background: var(--mt-panel-2);
	color: var(--mt-text-muted);
}

.mt-milestones-table__action {
	min-width: 6.5rem;
	white-space: nowrap;
}

.mt-milestones-table__hint {
	display: inline-block;
	max-width: 8.5rem;
	font-size: 0.72rem;
	line-height: 1.35;
	color: var(--mt-text-muted, #64748b);
	white-space: normal;
}

.mt-app-grid {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 960px) {
	.mt-app-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.mt-app-cards {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.mt-app-card {
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	padding: 0.75rem;
}

.mt-app-card__img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	margin-bottom: 0.5rem;
}

.mt-app-card h3 {
	margin: 0 0 0.25rem;
	color: var(--mt-ink);
	font-size: 1rem;
}

.mt-app-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mt-app-list li {
	border-bottom: 1px solid var(--mt-line);
	padding: 0.75rem 0;
}

.mt-app-list a {
	text-decoration: none;
	color: inherit;
	display: block;
}

.mt-app-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 1rem 0 1.25rem;
	border-bottom: 1px solid var(--mt-line);
	padding-bottom: 0.75rem;
}

.mt-app-tabs a {
	text-decoration: none;
	padding: 0.4rem 0.75rem;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--mt-text-muted);
}

.mt-app-tabs a.is-active {
	color: var(--mt-accent-deep);
	box-shadow: inset 0 -2px 0 var(--mt-accent-deep);
}

.mt-app-tabs span.is-disabled {
	display: inline-block;
	padding: 0.4rem 0.75rem;
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--mt-text-muted);
	opacity: 0.45;
	cursor: not-allowed;
	user-select: none;
}

.mt-app-chat__thread {
	max-height: 420px;
	overflow: auto;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 1rem;
	padding: 0.75rem;
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
}

.mt-app-chat__bubble {
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	padding: 0.75rem 0.9rem;
}

.mt-app-chat__bubble.is-system {
	background: color-mix(in srgb, var(--mt-accent) 8%, transparent);
	border-style: dashed;
}

.mt-app-chat__meta {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.8rem;
	color: var(--mt-text-muted);
	margin-bottom: 0.35rem;
}

.mt-app-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1rem 0 1.25rem;
}

.mt-app-stats div {
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.mt-app-stats strong {
	font-size: 1.6rem;
}

.mt-app-stats--links {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.mt-app-stats--links a {
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	padding: 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.25rem;
	text-decoration: none;
	color: inherit;
	border-radius: 0.5rem;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.mt-app-stats--links a:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, var(--mt-line));
}

.mt-app-stats--links a.is-active {
	border-color: var(--mt-accent);
	background: color-mix(in srgb, var(--mt-accent) 8%, var(--mt-panel));
}

.mt-app-stats--links a strong {
	font-size: 1.6rem;
}

/* Six tiles (status filters + "ارجاع شده به من") need a smaller label than the original
   five-tile row to keep each label on one line instead of wrapping. */
.mt-app-stats--links a span {
	font-size: 0.78rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.mt-app-approval {
	border: 1px solid var(--mt-line);
	padding: 1rem;
	margin-bottom: 1rem;
	background: var(--mt-panel);
}

.mt-app-update {
	border-bottom: 1px solid var(--mt-line);
	padding: 1rem 0;
}

.mt-app-prose {
	line-height: 1.8;
}

@media (max-width: 860px) {
	.mt-app {
		grid-template-columns: 1fr;
		gap: 1rem;
		margin-block: 1rem;
	}

	.mt-app__sidebar {
		position: static;
	}

	.mt-app__nav {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		gap: 0.35rem;
		padding-bottom: 0.25rem;
		-webkit-overflow-scrolling: touch;
	}

	.mt-app__nav a {
		white-space: nowrap;
		flex: 0 0 auto;
	}

	.mt-app-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mt-app-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.mt-app-tabs a {
		white-space: nowrap;
	}

	.mt-panel,
	.mt-app__main,
	.mt-register,
	.mt-login {
		overflow-x: auto;
	}

	.mt-table {
		display: block;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
	}

	.mt-form input:not([type="checkbox"]):not([type="radio"]),
	.mt-form select,
	.mt-form textarea,
	.mt-tag-picker__search,
	.mt-ops-catalog__add-row input:not([type="checkbox"]):not([type="radio"]) {
		width: 100%;
		max-width: 100%;
	}

	.mt-ops-catalog__add-row,
	.mt-portfolio-upload,
	.mt-ops-catalog__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.mt-tag-picker__suggest-row {
		flex-wrap: wrap;
	}

	.mt-tag-picker__suggest-row input,
	.mt-tag-picker__suggest-btn {
		flex: 1 1 auto;
		width: auto;
	}

	.mt-btn {
		width: auto;
		max-width: 100%;
	}

	.mt-portfolio-showcase__grid,
	.mt-app-cards {
		grid-template-columns: 1fr;
	}

	.mt-register__role-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mt-portfolio-single__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mt-lightbox {
		padding: 0.75rem;
	}

	.mt-lightbox__nav {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 1.4rem;
	}

	.mt-lightbox__nav.is-prev {
		inset-inline-start: 0.35rem;
	}

	.mt-lightbox__nav.is-next {
		inset-inline-end: 0.35rem;
	}

	.mt-lightbox__img {
		max-width: 96vw;
		max-height: 78vh;
	}

	.mt-account-menu__switch .mt-header-flyout__panel {
		inset-inline: auto 0;
		width: min(14rem, calc(100vw - 1.5rem));
	}
}

@media (max-width: 560px) {
	.mt-app-stats {
		grid-template-columns: 1fr;
	}

	.mt-app-chat__meta {
		flex-direction: column;
		align-items: flex-start;
	}

	.mt-portfolio-single__meta {
		flex-direction: column;
		gap: 0.35rem;
	}

	.mt-auth-roles,
	.mt-register__role-grid {
		grid-template-columns: 1fr;
	}

	.mt-auth-section__inner,
	.mt-register {
		width: min(1240px, calc(100% - 1.25rem));
	}

	.mt-portfolio-single__gallery {
		grid-template-columns: 1fr;
	}

	.mt-app-chat__thread {
		max-height: 320px;
	}

	.mt-table {
		font-size: 0.85rem;
	}

	.mt-account-menu__who span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 42vw;
	}
}

/* ?? Ops catalog ?? */
.mt-ops-catalog__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0.85rem 0 1.1rem;
}

.mt-ops-catalog__tabs a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	text-decoration: none;
	color: inherit;
	background: color-mix(in srgb, var(--mt-panel) 70%, transparent);
	font-size: 0.84rem;
	line-height: 1.2;
}

.mt-ops-catalog__tabs a.is-active {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, transparent);
	background: color-mix(in srgb, var(--mt-accent) 8%, transparent);
	font-weight: 600;
	color: var(--mt-accent);
}

.mt-ops-catalog__add-row {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.55rem;
	align-items: stretch;
}

.mt-ops-catalog__add-row input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 2.3rem;
}

.mt-ops-catalog__add-row .mt-btn {
	flex: 0 0 auto;
	white-space: nowrap;
}

@media (max-width: 560px) {
	.mt-ops-catalog__add-row {
		flex-wrap: wrap;
		align-items: stretch;
	}

	.mt-ops-catalog__add-row input,
	.mt-ops-catalog__add-row .mt-btn {
		flex: 1 1 100%;
	}
}

.mt-ops-catalog__pending,
.mt-ops-catalog__list {
	margin-top: 1.25rem;
}

.mt-ops-catalog__list h3 {
	margin: 0 0 0.75rem;
	color: var(--mt-ink);
	font-size: 0.95rem;
	font-weight: 700;
}

.mt-ops-catalog__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	align-items: center;
}

.mt-ops-catalog__chips {
	list-style: none;
	margin: 0;
	padding: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 0.4rem;
	max-height: min(28rem, 58vh);
	overflow: auto;
	border: 1px solid var(--mt-line, rgba(11, 18, 32, 0.12));
	border-radius: 0.75rem;
	background: var(--mt-panel-2, #f7fafc);
}

.mt-ops-catalog__chip,
.mt-ops-catalog__chips li {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.3rem;
	width: auto !important;
	max-width: 100%;
	min-height: 1.85rem;
	height: auto !important;
	margin: 0 !important;
	padding: 0.2rem 0.25rem 0.2rem 0.65rem !important;
	border: 1px solid color-mix(in srgb, var(--mt-accent) 18%, var(--mt-line)) !important;
	border-radius: 999px !important;
	background: var(--mt-panel) !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	font-size: 0.8rem !important;
	line-height: 1.2 !important;
	box-sizing: border-box;
}

.mt-ops-catalog__chip-label,
.mt-ops-catalog__chips li > span {
	display: inline-block;
	margin: 0;
	padding: 0;
	max-width: 16rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--mt-ink);
	font-weight: 500;
	line-height: 1.2;
}

.mt-ops-catalog__chip-form,
.mt-ops-catalog__chips li form {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	width: auto !important;
	height: auto !important;
	line-height: 0 !important;
}

.mt-ops-catalog__chip-remove,
.mt-ops-catalog__chips button {
	box-sizing: border-box !important;
	display: inline-grid !important;
	place-items: center !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	min-width: 1.35rem !important;
	min-height: 1.35rem !important;
	max-height: 1.35rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--mt-text-muted) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	transform: none !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.mt-ops-catalog__chip-remove:hover,
.mt-ops-catalog__chips button:hover {
	background: var(--mt-danger-bg) !important;
	color: var(--mt-danger) !important;
	filter: none !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 1;
}

.mt-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

/* Wraps a wide table (many columns, e.g. the finance project list) so it scrolls horizontally
 * inside its own box instead of forcing the whole panel wider than the viewport. */
.mt-table-scroll {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.mt-tickets-table__date {
	white-space: nowrap;
	color: var(--mt-text-muted);
	font-size: 0.85rem;
}

/* "لیست مالی پروژه‌ها" search box — a single pill-shaped input+icon+button group instead of a
 * bare unstyled <input>. */
.mt-ops-finance__search--fancy {
	margin: 0 0 1rem;
}
.mt-ops-finance__search--fancy .mt-ops-finance__search-row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.mt-ops-finance__search--fancy .mt-ops-finance__search-icon {
	position: absolute;
	inset-inline-start: 0.85rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	color: var(--mt-text-muted);
	pointer-events: none;
}
.mt-ops-finance__search--fancy .mt-ops-finance__search-input {
	flex: 1 1 260px;
	min-width: 0;
	padding: 0.65rem 1rem 0.65rem 1rem;
	padding-inline-start: 2.55rem;
	border: 1px solid var(--mt-line);
	border-radius: 999px;
	background: var(--mt-panel);
	color: var(--mt-ink);
	font-size: 0.92rem;
	text-align: center;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mt-ops-finance__search--fancy .mt-ops-finance__search-input::placeholder {
	color: var(--mt-text-muted);
	opacity: 1;
	text-align: center;
}
.mt-ops-finance__search--fancy .mt-ops-finance__search-input:focus {
	outline: none;
	border-color: var(--mt-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent) 18%, transparent);
}
.mt-ops-finance__search--fancy .mt-btn {
	border-radius: 999px;
	flex: 0 0 auto;
}

/* Clickable finance-list rows (opens the project's detail card) — refund <form>/<button> inside
 * a cell stop propagation in JS so they don't also trigger the row navigation. */
.mt-ops-finance__row {
	cursor: pointer;
}
.mt-ops-finance__row:hover {
	background: color-mix(in srgb, var(--mt-accent) 6%, transparent);
}
.mt-ops-finance__row:focus-visible {
	outline: 2px solid var(--mt-accent);
	outline-offset: -2px;
}
.mt-ops-finance__actions-cell {
	white-space: nowrap;
}

.mt-ops-finance__title {
	white-space: nowrap;
}

/* Project title in the finance list: clamp to 2 lines instead of letting a long title collapse
 * to one narrow word per line and blow up the row's height. */
.mt-ops-finance__row-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-width: 16rem;
	line-height: 1.4;
}

.mt-ops-finance__table--centered th,
.mt-ops-finance__table--centered td {
	text-align: center;
}

/* "لیست مالی پروژه‌ها" toolbar — the hint + the full-Excel download button, in a bordered strip
 * so the export is unmissable; stacks on narrow screens. */
.mt-ops-finance__list-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.7rem 1.2rem;
	margin: 0 0 0.85rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.6rem;
	background: var(--mt-panel-2);
}
.mt-ops-finance__list-hint {
	margin: 0;
	max-width: 40rem;
	line-height: 1.6;
	font-size: 0.82rem;
}
.mt-ops-finance__export-form {
	margin: 0;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.3rem;
}
.mt-ops-finance__export-note {
	font-size: 0.72rem;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* Expand-panel definition list — the per-project fields that don't fit the KPI grid
 * (identities, national IDs, locked rates, lifecycle dates). */
.mt-ops-finance__detail-dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
	gap: 0.5rem 1.4rem;
	margin: 0.4rem 0 0.8rem;
}
.mt-ops-finance__detail-dl > div {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.5rem 0.65rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.5rem;
	background: var(--mt-panel-2);
}
.mt-ops-finance__detail-dl dt {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}
.mt-ops-finance__detail-dl dd {
	margin: 0;
	font-size: 0.86rem;
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
	word-break: break-word;
}

/* "تاریخچه کامل تراکنش‌ها" کیف پول پلتفرم — each row expands a detail panel with every fact behind
 * the summary columns (Finance::platform_wallet_history()'s 'meta'). */
.mt-wallet-history-table {
	min-width: 62rem;
}
/* Fixed-width "نوع" column with a nowrap badge — otherwise the pill-shaped .mt-badge wraps its own
 * text onto two lines when the column gets squeezed by the newer "ترم / مایلستون" column, turning
 * into a tall, broken-looking pill instead of a clean single-line label. */
.mt-wallet-history-table th:nth-child(2),
.mt-wallet-history-table td:nth-child(2) {
	white-space: nowrap;
}
.mt-wallet-history-table .mt-badge {
	white-space: nowrap;
	justify-content: center;
	text-align: center;
}
.mt-wallet-history-table__row {
	cursor: pointer;
}
/* Signed amount column on the گاوصندوق compartment ledger — deposits green, withdrawals red. */
.mt-amount--pos { color: var(--mt-success); font-variant-numeric: tabular-nums; }
.mt-amount--neg { color: var(--mt-danger); font-variant-numeric: tabular-nums; }
.mt-wallet-history-table__row:hover {
	background: var(--mt-panel-2);
}
.mt-wallet-history-table__row:focus-visible {
	outline: 2px solid var(--mt-accent);
	outline-offset: -2px;
}
.mt-wallet-history-table__chevron {
	display: inline-block;
	margin-inline-start: 0.35rem;
	color: var(--mt-text-muted);
	transition: transform 0.15s ease;
}
.mt-wallet-history-table__row.is-open .mt-wallet-history-table__chevron {
	transform: rotate(-90deg);
}
.mt-wallet-history-table__detail td {
	padding: 0;
	border-top: 0;
}
.mt-wallet-history-table__meta {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
	gap: 0.6rem 1.2rem;
	margin: 0;
	padding: 0.9rem 1rem;
	background: var(--mt-panel-2);
	border-radius: 0.4rem;
	text-align: start;
}
.mt-wallet-history-table__meta dt {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--mt-text-muted);
	margin: 0 0 0.15rem;
}
.mt-wallet-history-table__meta dd {
	margin: 0;
	font-size: 0.85rem;
	color: var(--mt-ink);
	white-space: pre-line;
	word-break: break-word;
}

/* "سهم هر بخش از کل درآمد پلتفرم" — one horizontal 100%-stacked bar, part-to-whole. Segments touch
 * with a 2px surface-color gap (never a border) per the platform's chart mark spec; each segment
 * gets a rounded cap only at the bar's own two ends (never at an interior segment boundary, which
 * would draw a false "gap" where two colors actually meet). */
.mt-wallet-breakdown-bar {
	display: flex;
	width: 100%;
	height: 2.75rem;
	border-radius: 0.6rem;
	overflow: hidden;
	background: var(--mt-panel-2);
}
.mt-wallet-breakdown-bar__segment {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: 100%;
	border-inline-end: 2px solid var(--mt-panel);
	transition: filter 0.15s ease;
}
.mt-wallet-breakdown-bar__segment:last-child {
	border-inline-end: 0;
}
.mt-wallet-breakdown-bar__segment:hover {
	filter: brightness(1.08);
}
.mt-wallet-breakdown-bar__pct {
	font-size: 0.85rem;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
	white-space: nowrap;
}

/* Legend — always present for >= 2 series, per the chart's own non-negotiable; carries the exact
 * amount + share so the bar's direct labels (shown only where a segment is wide enough) never gate
 * the real numbers. A grid (not flex-wrap, which left a lone trailing item stranded on its own row
 * whenever label lengths differed — e.g. 2-up-then-1 on گاوصندوق پلتفرم) keeps every item the same
 * width and evenly distributed regardless of label length. Each item is a small centered stack
 * (dot+label on top, value+share below) rather than one long inline row — a single row had no
 * wrap control and let a long label+value combination (e.g. "کمیسیون پروژه‌ها" + a large Rial
 * figure) break across two lines unevenly; centering + stacking keeps every item tidy and uniform
 * regardless of label/number length. */
.mt-wallet-breakdown-legend {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	gap: 0.6rem;
	margin: 0.9rem 0 0;
	padding: 0;
	list-style: none;
}
.mt-wallet-breakdown-legend li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	text-align: center;
	font-size: 0.8rem;
	color: var(--mt-text-muted);
	min-width: 0;
}
.mt-wallet-breakdown-legend__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-width: 0;
	max-width: 100%;
}
.mt-wallet-breakdown-legend__dot {
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 999px;
	flex: 0 0 auto;
}
.mt-wallet-breakdown-legend__label {
	color: var(--mt-ink);
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mt-wallet-breakdown-legend__value {
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
	white-space: nowrap;
}
.mt-wallet-breakdown-legend__pct {
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
	color: var(--mt-accent);
	font-weight: 700;
}

/* Clickable variant (گاوصندوق پلتفرم's per-segment Excel export) — each <li> holds a <form> whose
 * submit button is styled as the same card the plain legend item used to be, so clicking anywhere
 * on the card downloads that segment's data. */
.mt-wallet-breakdown-legend__hint {
	margin: 0.6rem 0 0;
}
.mt-wallet-breakdown-legend__form {
	width: 100%;
}
.mt-wallet-breakdown-legend__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	width: 100%;
	padding: 0.65rem 0.8rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel);
	color: inherit;
	font: inherit;
	text-align: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.mt-wallet-breakdown-legend__card:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, transparent);
	background: var(--mt-panel-2);
	transform: translateY(-1px);
}
.mt-wallet-breakdown-legend__card:focus-visible {
	outline: 2px solid var(--mt-accent);
	outline-offset: 2px;
}
.mt-wallet-breakdown-legend__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100%;
}
.mt-wallet-breakdown-legend__xls {
	flex: 0 0 auto;
	opacity: 0.85;
}
.mt-wallet-breakdown-legend__card:hover .mt-wallet-breakdown-legend__xls {
	opacity: 1;
}

/* "منابع ورودی کیف پول پلتفرم" (کیف پول پلتفرم page) — one full-width row per KPI, colored only
 * (no sign glyph, no brace), stacked in 4 gap-separated groups top to bottom: green (real money
 * already in the real wallet) → yellow (commission still locked/estimated, not yet real) → red
 * (discounts + referral payouts, i.e. reductions to revenue) → gray (money that has actually left
 * via a completed withdrawal — kept separate from the red group since leaving isn't a discount). */
.mt-wallet-signed-rows {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 0 0 0.9rem;
}
.mt-wallet-signed-rows__gap {
	height: 1rem;
}
/* Same scale as .mt-panel h2 (the "منابع ورودی کیف پول پلتفرم" section title above it), so a
 * sub-group label reads as the same level of heading, not a smaller caption. */
.mt-wallet-signed-rows__label {
	margin: 0 0 -0.1rem;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.4;
}
.mt-wallet-signed-rows__label--future { color: var(--mt-warning); }
.mt-wallet-signed-rows__label--decrease { color: var(--mt-danger); }

/* Each KPI itself: same clickable-card/Excel-download convention as
 * .mt-wallet-breakdown-legend__card, colored green/red by its own sign. */
.mt-wallet-signed-kpi__form {
	display: block;
	width: 100%;
	margin: 0;
}
/* Grid, not flex — a fixed-width middle column is what actually guarantees every row's amount
 * starts flush at the same horizontal position: label takes the remaining space (1fr), amount
 * sits in a fixed-width track (so a short number and a long number both start at the same edge
 * of that track instead of hugging their own digit count), xls icon is a fixed end column. */
.mt-wallet-signed-kpi {
	display: grid;
	grid-template-columns: 1fr 11rem auto;
	align-items: center;
	gap: 0.6rem;
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--mt-line);
	border-inline-start: 3px solid var(--mt-text-muted);
	border-radius: 0.55rem;
	background: var(--mt-panel);
	color: inherit;
	font: inherit;
	text-align: start;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}
.mt-wallet-signed-kpi:hover {
	background: var(--mt-panel-2);
	transform: translateY(-1px);
}
.mt-wallet-signed-kpi:focus-visible {
	outline: 2px solid var(--mt-accent);
	outline-offset: 2px;
}
.mt-wallet-signed-kpi.is-increase { border-inline-start-color: var(--mt-success); }
.mt-wallet-signed-kpi.is-future { border-inline-start-color: var(--mt-warning); }
.mt-wallet-signed-kpi.is-decrease { border-inline-start-color: var(--mt-danger); }
.mt-wallet-signed-kpi.is-neutral { border-inline-start-color: var(--mt-text-muted); }
/* Static (non-exportable) KPI row: same layout, but reads as plain info — no button affordance. */
.mt-wallet-signed-kpi--static {
	grid-template-columns: 1fr 11rem;
	cursor: default;
}
.mt-wallet-signed-kpi--static:hover {
	background: var(--mt-panel);
	transform: none;
}
.mt-wallet-signed-kpi__label {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mt-ink);
	min-width: 0;
}
/* Fills its fixed-width grid track (see .mt-wallet-signed-kpi) and pins its content to the LEFT
 * edge of that track — in this RTL layout that's justify-content: flex-end (RTL's "end" is the
 * page's physical left), so a short number and a long number both start flush at the exact same
 * left-hand x-position across every row, instead of each hugging its own digit count. */
.mt-wallet-signed-kpi__amount {
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	/* Breathing room on the LEFT edge of the fixed track (padding-inline-end = physical left in
	 * this RTL layout) — pulls every row's amount slightly toward the middle/right without
	 * disturbing the shared left-anchor point itself, since it applies identically to every row. */
	padding-inline-end: 0.9rem;
	gap: 0.3rem;
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
	white-space: nowrap;
}
.mt-wallet-signed-kpi.is-increase .mt-wallet-signed-kpi__amount strong { color: var(--mt-success); }
.mt-wallet-signed-kpi.is-future .mt-wallet-signed-kpi__amount strong { color: var(--mt-warning); }
.mt-wallet-signed-kpi.is-decrease .mt-wallet-signed-kpi__amount strong { color: var(--mt-danger); }
.mt-wallet-signed-kpi.is-neutral .mt-wallet-signed-kpi__amount strong { color: var(--mt-text-muted); }
.mt-wallet-signed-kpi__amount strong {
	font-size: 1.05rem;
	font-weight: 700;
}
.mt-wallet-signed-kpi__amount em {
	font-size: 0.72rem;
	font-style: normal;
	color: var(--mt-text-muted);
}
.mt-wallet-signed-kpi__xls {
	flex: 0 0 auto;
	opacity: 0.85;
}
.mt-wallet-signed-kpi:hover .mt-wallet-signed-kpi__xls {
	opacity: 1;
}
@media (max-width: 760px) {
	.mt-wallet-signed-kpi {
		grid-template-columns: 1fr auto;
		grid-template-areas: "label xls" "amount xls";
		row-gap: 0.3rem;
	}
	.mt-wallet-signed-kpi__label { grid-area: label; }
	.mt-wallet-signed-kpi__amount { grid-area: amount; }
	.mt-wallet-signed-kpi__xls { grid-area: xls; }
	.mt-wallet-signed-kpi__amount {
		white-space: normal;
	}
}

/* "درآمد کل نقش‌های کاربری" — table on the right, pie chart on the left. In an RTL flex row,
 * order:1 sits at the row's start (the right edge) and order:2 follows toward the left, so the
 * table (order:1) lands on the right and the chart (order:2) on the left, as requested. */
.mt-role-income {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	align-items: center;
}
.mt-role-income__table {
	flex: 1 1 320px;
	order: 1;
}
.mt-role-income__chart {
	flex: 0 1 320px;
	order: 2;
	height: 280px;
	max-height: 280px;
}
.mt-role-income__swatch {
	display: inline-block;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	margin-inline-end: 0.4rem;
	vertical-align: middle;
}
/* Validated categorical palette (dataviz skill) — blue/aqua/yellow/magenta, light-mode set
 * clears every gate all-pairs; dark-mode step values swap in under [data-theme="dark"]. */
.mt-role-income__swatch--design-only     { background: #2a78d6; }
.mt-role-income__swatch--production-only { background: #1baf7a; }
.mt-role-income__swatch--design-production { background: #eda100; }
.mt-role-income__swatch--supervisor      { background: #e87ba4; }
html[data-theme="dark"] .mt-role-income__swatch--design-only,
html.mt-theme-dark .mt-role-income__swatch--design-only { background: #3987e5; }
html[data-theme="dark"] .mt-role-income__swatch--production-only,
html.mt-theme-dark .mt-role-income__swatch--production-only { background: #199e70; }
html[data-theme="dark"] .mt-role-income__swatch--design-production,
html.mt-theme-dark .mt-role-income__swatch--design-production { background: #c98500; }
html[data-theme="dark"] .mt-role-income__swatch--supervisor,
html.mt-theme-dark .mt-role-income__swatch--supervisor { background: #d55181; }
@media (max-width: 760px) {
	.mt-role-income__table,
	.mt-role-income__chart {
		order: initial;
		flex-basis: 100%;
	}
}

.mt-pager {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
	margin-top: 1.1rem;
}
/* .mt-pager__page is the historical class name still emitted by a few inline pagers
 * (finance, finance-store, finance-transactions); it renders identically to __btn. */
.mt-pager__btn,
.mt-pager__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	height: 2.2rem;
	padding: 0 0.5rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.5rem;
	background: var(--mt-panel);
	color: inherit;
	text-decoration: none;
	font-size: 0.85rem;
	font-variant-numeric: tabular-nums;
}
.mt-pager__btn.is-active,
.mt-pager__page.is-active {
	background: var(--mt-accent);
	border-color: var(--mt-accent);
	color: var(--mt-on-accent);
	font-weight: 700;
}
.mt-pager__btn:hover:not(.is-active),
.mt-pager__page:hover:not(.is-active) {
	border-color: var(--mt-accent);
}
.mt-pager__ellipsis {
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;
	min-width: 1.4rem;
	height: 2.2rem;
	padding-bottom: 0.3rem;
	color: var(--mt-muted, #8a93a6);
	font-size: 0.85rem;
	user-select: none;
}

/* Staff-performance stats page renders several independent <table> elements stacked (finance,
   support, technical, admin-staff) — each auto-sizes its own columns by its own row content, so
   "کارشناس" names of different lengths across tables threw the "سهم"/count/rating columns out of
   vertical alignment between sections. table-layout:fixed + explicit widths keeps every table's
   4 columns at identical widths regardless of what text is in any one row. */
.mt-staff-stats table.mt-table {
	table-layout: fixed;
}
.mt-staff-stats table.mt-table th:nth-child(1),
.mt-staff-stats table.mt-table td:nth-child(1) {
	width: 30%;
}
.mt-staff-stats table.mt-table th:nth-child(2),
.mt-staff-stats table.mt-table td:nth-child(2) {
	width: 22%;
}
.mt-staff-stats table.mt-table th:nth-child(3),
.mt-staff-stats table.mt-table td:nth-child(3) {
	width: 28%;
}
.mt-staff-stats table.mt-table th:nth-child(4),
.mt-staff-stats table.mt-table td:nth-child(4) {
	width: 20%;
}
/* Finance's table has a 5th column (ticket count) — narrower 5-way split. */
.mt-staff-stats table.mt-table th:nth-child(5),
.mt-staff-stats table.mt-table td:nth-child(5) {
	width: 16%;
}
.mt-staff-stats table.mt-table:has(th:nth-child(5)) th:nth-child(1),
.mt-staff-stats table.mt-table:has(th:nth-child(5)) td:nth-child(1) {
	width: 24%;
}
.mt-staff-stats table.mt-table:has(th:nth-child(5)) th:nth-child(2),
.mt-staff-stats table.mt-table:has(th:nth-child(5)) td:nth-child(2) {
	width: 20%;
}
.mt-staff-stats table.mt-table:has(th:nth-child(5)) th:nth-child(3),
.mt-staff-stats table.mt-table:has(th:nth-child(5)) td:nth-child(3) {
	width: 24%;
}
.mt-staff-stats table.mt-table:has(th:nth-child(5)) th:nth-child(4),
.mt-staff-stats table.mt-table:has(th:nth-child(5)) td:nth-child(4) {
	width: 16%;
}

.mt-table-wrap--scroll {
	max-height: 26rem;
	overflow-y: auto;
	border: 1px solid var(--mt-line);
	border-radius: var(--mt-client-radius, 0.6rem);
}

.mt-table-wrap--scroll .mt-table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--mt-panel-2, var(--mt-panel));
}

.mt-table th,
.mt-table td {
	padding: 0.65rem 0.5rem;
	border-bottom: 1px solid var(--mt-line);
	text-align: start;
	vertical-align: middle;
}

/* A money/number cell marked dir="ltr" (so digit grouping reads naturally) would otherwise fall
 * back to the browser's default text-align:left for ltr-direction content — visually pulling it
 * away from its column and out from under the (right-aligned, text-align:start) header above it.
 * Force it back to the page's own right alignment so the column still lines up. */
.mt-table td[dir="ltr"] {
	text-align: right;
}

/* Milestone release queue: the in-cell form must not add theme margins,
 * otherwise the button drifts off the row baseline. */
.mt-release-queue__action,
.mt-app .mt-release-queue__action {
	white-space: nowrap;
}

.mt-release-queue__form,
.mt-app .mt-release-queue__form {
	display: inline-flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	line-height: 0 !important;
	vertical-align: middle;
}

.mt-project-completion {
	margin-block: 1rem;
}

.mt-project-completion__form {
	display: grid;
	gap: 0.85rem;
	margin-top: 1rem;
}

.mt-project-completion__form .mt-check-row {
	margin: 0 !important;
}

.mt-project-completion__form .mt-btn {
	justify-self: start;
}

.mt-notice {
	padding: 0.75rem 1rem;
	border-radius: 0.55rem;
	margin-bottom: 1rem;
}

.mt-notice--ok {
	background: var(--mt-success-bg, rgba(18, 116, 58, 0.1));
	border: 1px solid var(--mt-success-border, rgba(18, 116, 58, 0.25));
	color: var(--mt-success);
}

.mt-notice--err {
	background: var(--mt-danger-bg);
	border: 1px solid var(--mt-danger-border);
	color: var(--mt-danger);
}

/* ?? Auth / registration ?? */
.mt-header-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.mt-auth-section {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: linear-gradient(180deg, color-mix(in srgb, var(--mt-surface) 65%, transparent), color-mix(in srgb, var(--mt-surface) 20%, transparent));
	border-block: 1px solid var(--mt-line);
}

.mt-auth-section__inner,
.mt-register {
	width: min(1100px, calc(100% - 2.5rem));
	margin-inline: auto;
}

.mt-auth-roles {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin: 2rem 0 2.5rem;
}

.mt-auth-role--shop {
	border-top: 3px solid var(--mt-success);
}

.mt-tag-picker {
	margin-bottom: 1.25rem;
}

.mt-tag-picker__label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.mt-tag-picker__selected {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	min-height: 2rem;
	margin: 0.5rem 0 0.75rem;
}

.mt-tag-chip {
	border: 1px solid color-mix(in srgb, var(--mt-accent) 35%, transparent);
	background: color-mix(in srgb, var(--mt-accent) 10%, transparent);
	color: var(--mt-ink);
	padding: 0.25rem 0.55rem;
	font: inherit;
	font-size: 0.85rem;
	cursor: pointer;
}

.mt-tag-chip.is-custom {
	border-color: color-mix(in srgb, var(--mt-signal) 50%, transparent);
	background: color-mix(in srgb, var(--mt-signal) 15%, transparent);
}

.mt-tag-picker__search-wrap {
	position: relative;
}

.mt-tag-picker__search-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.88rem;
	font-weight: 600;
	margin-bottom: 0.35rem;
	color: var(--mt-ink);
}

.mt-tag-picker__count {
	font-weight: 500;
	color: var(--mt-text-muted);
	font-size: 0.8rem;
}

.mt-tag-picker__search {
	width: 100%;
}

.mt-tag-picker__search-wrap.is-open .mt-tag-picker__search {
	border-color: color-mix(in srgb, var(--mt-accent) 55%, transparent);
	outline: 2px solid color-mix(in srgb, var(--mt-accent) 18%, transparent);
}

.mt-tag-picker__results {
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0.25rem 0;
	position: absolute;
	inset-inline: 0;
	top: 100%;
	z-index: 40;
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	border-radius: 0.45rem;
	max-height: min(360px, 55vh);
	overflow: auto;
	box-shadow: 0 10px 28px rgba(11, 18, 32, 0.12);
}

.mt-tag-picker__results button {
	display: block;
	width: 100%;
	text-align: start;
	border: 0;
	background: transparent;
	padding: 0.55rem 0.75rem;
	font: inherit;
	font-size: 0.85rem;
	color: var(--mt-ink);
	cursor: pointer;
}

.mt-tag-picker__results button:hover,
.mt-tag-picker__results button:focus-visible {
	background: color-mix(in srgb, var(--mt-accent) 8%, transparent);
	outline: none;
}

.mt-tag-picker__empty {
	padding: 0.75rem;
	color: var(--mt-text-muted);
	font-size: 0.9rem;
}

.mt-tag-picker__suggest {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px dashed var(--mt-line);
}

.mt-tag-picker__suggest-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5rem;
}

.mt-tag-picker__suggest-row input {
	flex: 1 1 auto;
	min-width: 0;
	height: 2.4rem;
	box-sizing: border-box;
}

.mt-tag-picker__suggest-btn {
	flex: 0 0 auto;
	height: 2.4rem;
	min-height: 2.4rem;
	padding: 0 0.9rem !important;
	font-size: 0.82rem !important;
	font-weight: 600;
	font-family: inherit !important;
	white-space: nowrap;
	line-height: 1.2;
	align-self: stretch;
}

.mt-tag-picker__hint {
	margin: 0.45rem 0 0;
	font-size: 0.82rem;
}

.mt-auth-role {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	padding: 1.5rem 1.35rem;
	text-decoration: none;
	color: inherit;
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	min-height: 160px;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.mt-auth-role:hover {
	transform: translateY(-3px);
	border-color: var(--mt-accent-deep);
	box-shadow: 0 16px 40px rgba(11, 18, 32, 0.08);
}

.mt-auth-role__label {
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--mt-ink);
}

.mt-auth-role__summary {
	color: var(--mt-text-muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

.mt-auth-role--client {
	border-top: 3px solid var(--mt-accent);
}

.mt-auth-role--designer {
	border-top: 3px solid var(--mt-accent-deep);
}

.mt-auth-role--maker {
	border-top: 3px solid var(--mt-signal);
}

.mt-auth-login-box {
	max-width: 420px;
	padding: 1.25rem;
	background: color-mix(in srgb, var(--mt-panel) 85%, transparent);
	border: 1px solid var(--mt-line);
}

.mt-auth-login-box h3 {
	margin: 0 0 1rem;
	color: var(--mt-ink);
	font-size: 1.05rem;
}

.mt-register__head {
	margin: 0 auto 1.5rem;
	text-align: center;
	max-width: none;
	width: 100%;
}

.mt-register__head .mt-section__title {
	margin: 0 0 0.75rem;
	color: var(--mt-ink);
	text-align: center;
}

.mt-register__lead,
.mt-register__head .mt-section__lead,
.mt-register .mt-register__lead {
	max-width: none !important;
	width: 100%;
	margin: 0 auto !important;
	text-align: center !important;
	text-wrap: balance;
	line-height: 1.7;
	font-size: 0.95rem;
	color: var(--mt-text-muted);
	white-space: normal;
}

.mt-register__logo {
	margin: 0 0 1rem;
	line-height: 0;
	display: flex;
	justify-content: center;
}

.mt-register__logo .mt-app__brand-plate {
	display: inline-block;
}

.mt-register__logo img {
	display: block;
	height: 2.6rem;
	width: auto;
	max-width: 10.5rem;
	object-fit: contain;
	margin-inline: auto;
}

.mt-register__error {
	background: var(--mt-danger-bg);
	border: 1px solid var(--mt-danger-border);
	color: var(--mt-danger);
	padding: 0.85rem 1rem;
	margin-bottom: 1rem;
	font-weight: 600;
	border-radius: 0.45rem;
}

.mt-portfolio-upload {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-bottom: 0.5rem;
}

.mt-portfolio-upload__hint {
	margin: 0 0 0.75rem;
	font-size: 0.88rem;
}

.mt-portfolio-gallery {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 0.65rem;
}

.mt-portfolio-gallery__item {
	position: relative;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	aspect-ratio: 1;
	overflow: hidden;
}

.mt-portfolio-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mt-portfolio-gallery__item button {
	position: absolute;
	top: 0.25rem;
	inset-inline-end: 0.25rem;
	border: 0;
	background: rgba(0, 0, 0, 0.65); /* intentionally fixed: overlay button on image thumbnail */
	color: var(--mt-white);
	width: 1.6rem;
	height: 1.6rem;
	cursor: pointer;
	line-height: 1;
}

.mt-portfolio-form [data-portfolio-save]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.mt-app-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 0.65rem;
}

.mt-app-card__actions > .mt-btn,
.mt-app-card__actions > form {
	flex: 1 1 0;
	min-width: 0;
}

.mt-app-card__actions > form {
	display: flex;
	margin: 0;
}

.mt-app-card__actions > form .mt-btn,
.mt-app-card__actions > .mt-btn {
	width: 100%;
	justify-content: center;
}

.mt-portfolio-manager {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
	align-items: start;
}

@media (min-width: 900px) {
	.mt-portfolio-manager {
		grid-template-columns: 1fr;
	}
}

.mt-portfolio-list {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	align-items: stretch;
}

.mt-portfolio-row {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 16.5rem;
	padding: 0.65rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
	box-sizing: border-box;
}

.mt-portfolio-row__img {
	width: 100%;
	height: 120px;
	object-fit: cover;
	border-radius: 0.4rem;
	display: block;
	flex: 0 0 auto;
}

.mt-portfolio-row__img--empty {
	background: color-mix(in srgb, var(--mt-mist) 70%, transparent);
}

.mt-portfolio-row__body {
	min-width: 0;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	margin-top: 0.55rem;
	min-height: 6.75rem;
}

.mt-portfolio-row__body h3 {
	margin: 0;
	color: var(--mt-ink);
	font-size: 0.95rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.35em * 2);
}

.mt-portfolio-row__body .mt-app-muted {
	margin: 0;
	font-size: 0.8rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	min-height: 1.2em;
}

.mt-portfolio-row__actions {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 0.45rem;
}

.mt-portfolio-row__actions > .mt-btn,
.mt-portfolio-row__actions > form {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
}

.mt-portfolio-row__actions > form {
	display: flex;
}

.mt-portfolio-row__actions .mt-btn {
	width: 100%;
	justify-content: center;
	font-family: inherit;
	white-space: nowrap;
}

.mt-portfolio-showcase {
	position: relative;
	padding-block: clamp(3.5rem, 7vw, 6rem);
	background: var(--mt-surface);
}

.mt-portfolio-showcase__inner {
	width: min(1240px, calc(100% - 2.5rem));
	margin-inline: auto;
}

.mt-portfolio-showcase__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--mt-line);
}

.mt-portfolio-showcase__count {
	flex-shrink: 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mt-accent-deep);
	background: color-mix(in srgb, var(--mt-accent) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--mt-accent) 30%, transparent);
	border-radius: 999px;
	padding: 0.45rem 1.1rem;
}

.mt-portfolio-showcase__grid {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
	margin-top: 2.5rem;
}

.mt-portfolio-showcase__card {
	position: relative;
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	border-radius: 1.25rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 1px 3px rgba(11, 18, 32, 0.06);
	transition: transform 0.35s var(--mt-ease), box-shadow 0.35s var(--mt-ease), border-color 0.35s var(--mt-ease);
}

.mt-portfolio-showcase__card::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(135deg, var(--mt-accent), transparent 45%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	transition: opacity 0.35s var(--mt-ease);
	pointer-events: none;
}

.mt-portfolio-showcase__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 48px -12px rgba(11, 18, 32, 0.22), 0 0 0 1px color-mix(in srgb, var(--mt-accent) 18%, transparent);
	border-color: transparent;
}

.mt-portfolio-showcase__card:hover::after {
	opacity: 1;
}

.mt-portfolio-showcase__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mt-panel-2);
}

.mt-portfolio-showcase__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(6, 10, 16, 0.5));
	opacity: 0;
	transition: opacity 0.35s var(--mt-ease);
}

.mt-portfolio-showcase__card:hover .mt-portfolio-showcase__media::after {
	opacity: 1;
}

.mt-portfolio-showcase__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s var(--mt-ease);
}

.mt-portfolio-showcase__card:hover .mt-portfolio-showcase__media img {
	transform: scale(1.08);
}

.mt-portfolio-showcase__media-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--mt-text-muted);
	opacity: 0.4;
}

.mt-portfolio-showcase__media-placeholder svg {
	width: 2.5rem;
	height: 2.5rem;
}

.mt-portfolio-showcase__badge {
	position: absolute;
	z-index: 1;
	inset-block-start: 0.85rem;
	inset-inline-start: 0.85rem;
	background: rgba(10, 16, 24, 0.68); /* intentionally fixed: overlay badge on image media */
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: var(--mt-white);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 0.36rem 0.8rem;
	border-radius: 999px;
	line-height: 1.4;
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.mt-portfolio-showcase__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mt-accent-deep);
	white-space: nowrap;
}

.mt-portfolio-showcase__cta svg {
	transition: transform 0.25s var(--mt-ease);
}

.mt-portfolio-showcase__card:hover .mt-portfolio-showcase__cta svg {
	transform: translateX(-4px);
}

.mt-portfolio-single-wrap {
	padding-bottom: 0;
}

.mt-portfolio-single__inner {
	width: min(880px, calc(100% - 2.5rem));
	margin-inline: auto;
	padding-top: clamp(2rem, 5vw, 3rem);
}

.mt-portfolio-single__back {
	margin: 2.5rem 0 0;
	text-align: center;
}

.mt-portfolio-single__back a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-decoration: none;
	color: var(--mt-text-muted);
	font-weight: 600;
	font-size: 0.9rem;
	transition: color 0.2s var(--mt-ease);
}

.mt-portfolio-single__back a:hover {
	color: var(--mt-accent-deep);
}

.mt-portfolio-single__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
}

.mt-portfolio-single__chip {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--mt-accent-deep);
	background: color-mix(in srgb, var(--mt-accent) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--mt-accent) 28%, transparent);
	border-radius: 999px;
	padding: 0.3rem 0.85rem;
}

.mt-portfolio-single__chip--muted {
	color: var(--mt-text-muted);
	background: var(--mt-panel-2);
	border-color: var(--mt-line);
}

.mt-portfolio-single__chips--center {
	justify-content: center;
}

.mt-portfolio-single__title {
	margin: 0 0 1.5rem;
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	line-height: 1.35;
	font-weight: 800;
	color: var(--mt-ink);
}

.mt-portfolio-single__title--center {
	text-align: center;
	max-width: 34ch;
	margin-inline: auto;
	margin-bottom: 1.75rem;
}

.mt-portfolio-single__hero {
	margin-bottom: 0.85rem;
	border-radius: 1.25rem;
	overflow: hidden;
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
}

.mt-portfolio-single__hero-btn {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}

.mt-portfolio-single__hero-btn img {
	width: 100%;
	max-height: 560px;
	object-fit: cover;
	display: block;
	transition: transform 0.5s var(--mt-ease);
}

.mt-portfolio-single__hero-btn:hover img {
	transform: scale(1.02);
}

.mt-portfolio-single__engage {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--mt-line);
	flex-wrap: wrap;
}

.mt-portfolio-single__views {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--mt-text-muted);
	font-size: 0.88rem;
	margin-inline-end: auto;
}

.mt-portfolio-single__like,
.mt-portfolio-single__share {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	color: var(--mt-text-muted);
	border-radius: 999px;
	padding: 0.5rem 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s var(--mt-ease), color 0.2s var(--mt-ease), background 0.2s var(--mt-ease);
}

.mt-portfolio-single__like:hover,
.mt-portfolio-single__share:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, transparent);
	color: var(--mt-accent-deep);
}

.mt-portfolio-single__like.is-liked {
	color: var(--mt-white); /* intentionally fixed: like-button pink brand color, constant across themes */
	background: #e11d48;
	border-color: #e11d48;
}

.mt-portfolio-single__like.is-liked:hover {
	color: var(--mt-white);
	background: #be123c;
	border-color: #be123c;
}

/* Author card (compact, reusable) */
.mt-pf-author {
	position: relative;
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	border-radius: 1.25rem;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(11, 18, 32, 0.06);
}

.mt-pf-author__cover {
	display: block;
	height: 72px;
	background: linear-gradient(120deg, var(--mt-accent) 0%, var(--mt-accent-deep) 55%, var(--mt-signal) 130%);
}

.mt-pf-author__avatar-link {
	display: block;
	width: fit-content;
	margin: -48px auto 0;
	position: relative;
	z-index: 1;
}

.mt-pf-author__avatar {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid var(--mt-panel);
	background: var(--mt-panel-2);
}

.mt-pf-author__body {
	padding: 0.75rem 1.5rem 1.5rem;
	text-align: center;
}

.mt-pf-author__name {
	display: block;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--mt-ink);
	text-decoration: none;
	margin-bottom: 0.5rem;
}

.mt-pf-author__name:hover {
	color: var(--mt-accent-deep);
}

.mt-pf-author__badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	margin-bottom: 0.6rem;
}

.mt-pf-author__location {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;
	margin: 0 0 1rem;
	font-size: 0.85rem;
	color: var(--mt-text-muted);
}

.mt-pf-author__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
	gap: 0.5rem;
	margin: 0 0 1.25rem;
	padding: 0.9rem 0;
	border-block: 1px solid var(--mt-line);
}

.mt-pf-author__stats div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
}

.mt-pf-author__stats strong {
	font-family: "Rajdhani", "Vazirmatn", sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--mt-ink);
	line-height: 1;
}

.mt-pf-author__stats span {
	font-size: 0.72rem;
	color: var(--mt-text-muted);
}

.mt-pf-author__actions {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.mt-pf-author__actions .mt-btn {
	width: 100%;
	justify-content: center;
}

.mt-pf-author__actions .mt-follow-form {
	width: 100%;
	justify-content: center;
}

/* Full-width horizontal author banner (single-portfolio top) */
.mt-pf-banner {
	background:
		radial-gradient(700px 320px at 12% -20%, color-mix(in srgb, var(--mt-accent) 14%, transparent), transparent 60%),
		radial-gradient(600px 300px at 90% 0%, color-mix(in srgb, var(--mt-signal) 10%, transparent), transparent 58%),
		var(--mt-panel-2);
	border-bottom: 1px solid var(--mt-line);
	padding-block: 2rem;
}

.mt-pf-banner__inner {
	width: min(1100px, calc(100% - 2.5rem));
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.mt-pf-banner__avatar-link {
	flex-shrink: 0;
	display: block;
}

.mt-pf-banner__avatar {
	display: block;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--mt-panel);
	background: var(--mt-panel-2);
	box-shadow: 0 2px 10px rgba(11, 18, 32, 0.1);
}

.mt-pf-banner__identity {
	flex: 1 1 220px;
	min-width: 0;
}

.mt-pf-banner__name {
	display: block;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--mt-ink);
	text-decoration: none;
	margin-bottom: 0.4rem;
}

.mt-pf-banner__name:hover {
	color: var(--mt-accent-deep);
}

.mt-pf-banner__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.mt-pf-banner__badges .mt-badge,
.mt-pf-author__badges .mt-badge {
	border-radius: 999px;
	padding-inline: 0.75rem;
}

.mt-pf-banner__location {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.82rem;
	color: var(--mt-text-muted);
}

.mt-pf-banner__stats {
	display: flex;
	gap: 1.5rem;
	padding-inline: 1.5rem;
	border-inline: 1px solid var(--mt-line);
	flex-shrink: 0;
}

.mt-pf-banner__stats div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	min-width: 3.5rem;
}

.mt-pf-banner__stats strong {
	font-family: "Rajdhani", "Vazirmatn", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--mt-ink);
	line-height: 1;
}

.mt-pf-banner__stats span {
	font-size: 0.7rem;
	color: var(--mt-text-muted);
	white-space: nowrap;
}

.mt-pf-banner__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	flex-shrink: 0;
}

@media (max-width: 780px) {
	.mt-pf-banner__inner {
		justify-content: center;
		text-align: center;
	}
	.mt-pf-banner__identity {
		flex-basis: 100%;
	}
	.mt-pf-banner__badges,
	.mt-pf-banner__actions {
		justify-content: center;
	}
	.mt-pf-banner__stats {
		border-inline: 0;
		border-block: 1px solid var(--mt-line);
		padding-inline: 0;
		padding-block: 0.75rem;
		justify-content: center;
		flex-basis: 100%;
	}
}

/* Closing join-CTA */
.mt-portfolio-single__cta {
	margin-top: 3rem;
	padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;
	background:
		radial-gradient(800px 400px at 50% -20%, rgba(34, 211, 238, 0.16), transparent 60%),
		linear-gradient(180deg, #0b1220, #0e1728);
}

.mt-portfolio-single__cta-inner {
	width: min(640px, 100%);
	margin-inline: auto;
	text-align: center;
}

.mt-portfolio-single__cta-inner h2 {
	margin: 0 0 0.75rem;
	font-family: "Rajdhani", "Vazirmatn", sans-serif;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: #f8fafc;
}

.mt-portfolio-single__cta-inner p {
	margin: 0 0 1.5rem;
	color: rgba(226, 236, 245, 0.75);
	line-height: 1.8;
}

.mt-follow-form {
	display: inline-flex;
	margin: 0;
	align-items: center;
	gap: 0.35rem;
}

.mt-follow-form__pair {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
}

.mt-friend-requests {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid color-mix(in srgb, var(--mt-accent) 22%, transparent);
	background: color-mix(in srgb, var(--mt-accent) 6%, transparent);
	display: grid;
	gap: 1rem;
}

.mt-friend-requests__section {
	display: grid;
	gap: 0.65rem;
}

.mt-friend-requests__title {
	margin: 0;
	font-size: 0.95rem;
}

.mt-friend-requests__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

.mt-friend-requests__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 0.75rem;
	padding: 0.55rem 0.65rem;
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
}

.mt-friend-requests__who {
	display: grid;
	gap: 0.15rem;
	flex: 1 1 10rem;
	min-width: 0;
}

.mt-inbox__peer-actions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	flex-shrink: 0;
}

.mt-inbox__peer-meta {
	display: grid;
	gap: 0.12rem;
	min-width: 0;
	flex: 1;
}

.mt-inbox__connect {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 0.85rem;
	flex: 1;
	min-height: 14rem;
	margin: 1.25rem 1rem;
	padding: 1.5rem 1.25rem;
	border: 1px solid color-mix(in srgb, var(--mt-accent) 28%, var(--mt-line));
	border-radius: 0.75rem;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--mt-accent) 8%, var(--mt-panel)) 0%, var(--mt-panel) 70%);
	box-shadow: 0 8px 24px rgba(10, 23, 32, 0.04);
}

.mt-inbox__connect-icon {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	flex-shrink: 0;
	border-radius: 0.75rem;
	color: var(--mt-accent);
	background: color-mix(in srgb, var(--mt-accent) 12%, var(--mt-panel));
	border: 1px solid color-mix(in srgb, var(--mt-accent) 20%, transparent);
	margin-inline: auto;
}

.mt-inbox__connect-body {
	display: grid;
	gap: 0.4rem;
	justify-items: center;
	max-width: 26rem;
	width: 100%;
	margin-inline: auto;
}

.mt-inbox__connect-title {
	font-size: 0.98rem;
	line-height: 1.4;
	color: var(--mt-ink);
	text-align: center;
}

.mt-inbox__connect-text {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.6;
	color: var(--mt-text-muted);
	text-align: center;
}

.mt-inbox__connect-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	margin-top: 0.55rem;
	width: 100%;
}

.mt-inbox__connect-actions .mt-follow-form {
	justify-content: center;
	width: 100%;
}

.mt-inbox__connect-actions .mt-follow-form__pair {
	justify-content: center;
}

/* Connection / follow buttons ? keep label optically centered */
.mt-follow-btn,
.mt-friend-requests .mt-btn,
.mt-inbox__peer-actions .mt-btn,
.mt-inbox__connect-actions .mt-btn,
.mt-app .mt-follow-btn,
.mt-app .mt-friend-requests .mt-btn,
.mt-app .mt-inbox__peer-actions .mt-btn,
.mt-app .mt-inbox__connect-actions .mt-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding-block: 0 !important;
	line-height: 1 !important;
	text-align: center !important;
}

.mt-rating-box .mt-rating-form {
	display: grid;
	gap: 0.65rem;
}

.mt-rating-box .mt-rating-form select[name="mt_score"] {
	max-width: 8rem;
}

.mt-portfolio-single__gallery {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	margin-bottom: 1.5rem;
}

.mt-portfolio-single__thumb {
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--mt-line);
	border-radius: 0.85rem;
	background: var(--mt-panel);
	cursor: zoom-in;
	overflow: hidden;
}

.mt-portfolio-single__thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: transform 0.25s ease;
}

.mt-portfolio-single__thumb:hover img {
	transform: scale(1.05);
}

.mt-portfolio-single__body {
	line-height: 1.9;
	font-size: 1.02rem;
	color: var(--mt-ink);
}

.mt-portfolio-single__body p {
	margin: 0 0 1.1rem;
}

body.mt-lightbox-open {
	overflow: hidden;
}

.mt-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(7, 11, 18, 0.88);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.mt-lightbox[hidden] {
	display: none !important;
}

.mt-lightbox__img {
	max-width: min(1100px, 92vw);
	max-height: 88vh;
	object-fit: contain;
	border-radius: 0.25rem;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.mt-lightbox__close {
	position: absolute;
	top: 1rem;
	inset-inline-end: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92); /* intentionally fixed: control sits on the fixed-dark lightbox scrim */
	color: #0b1220;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.mt-lightbox__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.75rem;
	height: 2.75rem;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9); /* intentionally fixed: control sits on the fixed-dark lightbox scrim */
	color: #0b1220;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.mt-lightbox__nav.is-prev {
	inset-inline-start: 1rem;
}

.mt-lightbox__nav.is-next {
	inset-inline-end: 1rem;
}

.mt-portfolio-showcase__body {
	padding: 1.25rem 1.4rem 1.4rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	flex: 1;
}

.mt-portfolio-showcase__body h3 {
	margin: 0;
	color: var(--mt-ink);
	font-size: 1.1rem;
	line-height: 1.4;
	transition: color 0.25s var(--mt-ease);
}

.mt-portfolio-showcase__card:hover .mt-portfolio-showcase__body h3 {
	color: var(--mt-accent-deep);
}

.mt-portfolio-showcase__body p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.65;
	color: var(--mt-text-muted);
	flex: 1;
}

.mt-portfolio-showcase__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.4rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--mt-line);
}

.mt-portfolio-showcase__author {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mt-ink);
	display: flex;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mt-portfolio-showcase__year {
	font-weight: 500;
	color: var(--mt-text-muted);
}

.mt-portfolio-showcase__year::before {
	content: "·";
	margin-inline-end: 0.4rem;
}

.mt-portfolio-showcase__more {
	margin-top: 3rem;
	text-align: center;
}

.mt-portfolio-showcase__more .mt-btn {
	padding-inline: 2rem;
	border-radius: 999px;
}

.mt-register__fieldset {
	border: 1px solid var(--mt-line);
	padding: 1.25rem;
	margin: 0 0 1.25rem;
	background: var(--mt-panel);
}

.mt-register__fieldset legend {
	font-weight: 700;
	padding-inline: 0.35rem;
}

.mt-register {
	width: min(1100px, calc(100% - 2rem));
	margin-inline: auto;
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
	font-size: 0.92rem;
	line-height: 1.7;
	color: var(--mt-ink);
}

.mt-register__form {
	max-width: 100%;
	width: 100%;
	display: grid;
	gap: 0.9rem;
	margin-inline: auto;
}

.mt-register .mt-form-section,
.mt-register__section {
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	background: var(--mt-panel);
	box-shadow: 0 8px 22px rgba(10, 16, 24, 0.04);
	padding: 1.1rem 1.15rem 1.25rem;
	margin: 0;
	text-align: start;
}

html[data-theme="dark"] .mt-register .mt-form-section,
html[data-theme="dark"] .mt-register__section,
html.mt-theme-dark .mt-register .mt-form-section,
html.mt-theme-dark .mt-register__section {
	background: #121a26;
}

.mt-register .mt-form-section__title {
	margin: 0 0 0.2rem;
	color: var(--mt-ink);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.35;
}

.mt-register__step {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
	text-align: center;
}

.mt-register__step > div {
	min-width: 0;
	flex: 1 1 auto;
}

.mt-register__step .mt-app-muted,
.mt-register .mt-section__lead,
.mt-register__entity-desc,
.mt-auth-role__summary {
	margin: 0.35rem 0 0;
	font-size: 0.86rem;
	line-height: 1.7;
	text-align: justify;
	text-justify: inter-word;
	hyphens: auto;
	color: var(--mt-text-muted);
}

.mt-register__step-num {
	flex: 0 0 auto;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--mt-on-accent);
	background: var(--mt-accent);
	box-shadow: 0 1px 2px rgba(14, 116, 144, 0.28);
	margin-top: 0.1rem;
}

.mt-register__fields {
	display: grid;
	gap: 0.55rem 0.75rem;
	max-width: 36rem;
	margin-inline: auto;
	width: 100%;
	text-align: start;
}

.mt-register__fields label {
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--mt-steel);
	margin-top: 0.2rem;
}

.mt-register__fields input,
.mt-register__fields select,
.mt-register__fields textarea,
.mt-register__form input[type="text"],
.mt-register__form input[type="email"],
.mt-register__form input[type="tel"],
.mt-register__form input[type="password"],
.mt-register__form input[type="file"],
.mt-register__form select,
.mt-register__form textarea {
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--mt-line);
	border-radius: 0.45rem;
	padding: 0.55rem 0.7rem;
	font: inherit;
	font-size: 0.9rem;
	background: var(--mt-panel-2);
}

.mt-register__fields input:focus,
.mt-register__form input:focus,
.mt-register__form select:focus,
.mt-register__form textarea:focus {
	outline: 2px solid color-mix(in srgb, var(--mt-accent) 22%, transparent);
	border-color: color-mix(in srgb, var(--mt-accent) 45%, transparent);
	background: var(--mt-panel);
}

.mt-register__terms {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	width: 100%;
	margin: 0.25rem 0 0;
}

.mt-register__terms-box {
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	background: var(--mt-panel-2);
	overflow: hidden;
}

.mt-register__terms-box > summary {
	padding: 0.75rem 1rem;
	cursor: pointer;
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--mt-accent);
	list-style: none;
}

.mt-register__terms-box > summary::-webkit-details-marker {
	display: none;
}

.mt-register__terms-box > summary::before {
	content: "▾";
	display: inline-block;
	margin-inline-end: 0.4rem;
	transition: transform 0.15s ease;
}

.mt-register__terms-box[open] > summary::before {
	transform: rotate(-180deg);
}

.mt-register__terms-body {
	max-height: 16rem;
	overflow-y: auto;
	padding: 0 1.1rem 1rem;
	font-size: 0.82rem;
	line-height: 1.9;
	color: var(--mt-text-muted);
	border-top: 1px dashed var(--mt-line);
}

.mt-register__terms-body p {
	margin: 0.75rem 0 0;
}

.mt-register__terms-agree {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	padding: 0.85rem 1rem;
	border: 1.5px solid var(--mt-line);
	border-radius: 0.75rem;
	background: var(--mt-panel);
	cursor: pointer;
	transition: border-color 0.14s ease, background 0.14s ease;
}

.mt-register__terms-agree:has(input:checked) {
	border-color: color-mix(in srgb, var(--mt-accent) 55%, var(--mt-line));
	background: color-mix(in srgb, var(--mt-accent) 6%, var(--mt-panel));
}

.mt-register__terms-agree input[type="checkbox"] {
	position: static;
	opacity: 1;
	appearance: auto;
	-webkit-appearance: checkbox;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0.15rem 0 0;
	flex-shrink: 0;
	cursor: pointer;
}

.mt-register__terms-agree span {
	font-size: 0.86rem;
	line-height: 1.7;
	color: var(--mt-ink);
}

.mt-register__actions {
	display: grid;
	gap: 0.65rem;
	justify-items: center;
	margin-top: 0.35rem;
	padding: 1.1rem 1.15rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	background: linear-gradient(180deg, var(--mt-panel), var(--mt-panel-2));
	text-align: center;
}

.mt-register__actions .mt-btn {
	justify-self: center;
	min-width: 12rem;
}

.mt-register__entity-grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 42rem;
	margin-inline: auto;
}

.mt-register__role-grid {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 0.15rem;
	width: 100%;
}

.mt-register__role-card,
.mt-register__entity-card {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 1rem 0.9rem;
	border: 1.5px solid var(--mt-line);
	border-radius: 0.7rem;
	background: var(--mt-panel-2);
	cursor: pointer;
	position: relative;
	min-height: 7.5rem;
	text-align: center;
	align-items: center;
	justify-content: flex-start;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mt-register__entity-card {
	min-height: 5.75rem;
	padding: 1.05rem 1rem;
}

.mt-register__role-card input,
.mt-register__entity-card input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	overflow: hidden;
	pointer-events: none;
}

.mt-register__role-card:focus,
.mt-register__entity-card:focus,
.mt-register__role-card input:focus,
.mt-register__entity-card input:focus {
	outline: none;
	box-shadow: none;
}

.mt-register__role-card:has(input:focus-visible),
.mt-register__entity-card:has(input:focus-visible) {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent) 28%, transparent);
}

.mt-register__role-card .mt-auth-role__label,
.mt-register__entity-title {
	font-family: inherit;
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.35;
	color: var(--mt-ink);
}

.mt-register__role-card .mt-auth-role__summary,
.mt-register__entity-desc {
	font-size: 0.78rem;
	line-height: 1.65;
	text-align: justify;
	text-justify: inter-word;
	color: var(--mt-text-muted);
	margin: 0;
}

.mt-register__role-card:hover,
.mt-register__entity-card:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 35%, transparent);
	transform: translateY(-1px);
}

/* Selected cards: whole block tinted, no checkbox chrome */
.mt-register__role-card:has(input:checked),
.mt-register__entity-card:has(input:checked) {
	border-color: var(--mt-accent);
	background: color-mix(in srgb, var(--mt-accent) 14%, transparent);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mt-accent) 20%, transparent);
	color: var(--mt-ink);
}

.mt-register__role-card:has(input:checked) .mt-auth-role__label,
.mt-register__entity-card:has(input:checked) .mt-register__entity-title {
	color: var(--mt-accent);
}

.mt-register__role-card.mt-auth-role--client:has(input:checked) {
	background: color-mix(in srgb, var(--mt-accent) 16%, transparent);
	border-color: var(--mt-accent);
}

.mt-register__role-card.mt-auth-role--designer:has(input:checked) {
	background: color-mix(in srgb, var(--mt-info) 14%, transparent);
	border-color: var(--mt-info);
}

.mt-register__role-card.mt-auth-role--designer:has(input:checked) .mt-auth-role__label {
	color: var(--mt-info);
}

.mt-register__role-card.mt-auth-role--shop:has(input:checked) {
	background: color-mix(in srgb, var(--mt-success) 14%, transparent);
	border-color: var(--mt-success);
}

.mt-register__role-card.mt-auth-role--shop:has(input:checked) .mt-auth-role__label {
	color: var(--mt-success);
}

.mt-register__role-card.mt-auth-role--maker:has(input:checked) {
	background: color-mix(in srgb, var(--mt-warning) 12%, transparent);
	border-color: var(--mt-warning);
}

.mt-register__role-card.mt-auth-role--maker:has(input:checked) .mt-auth-role__label {
	color: var(--mt-warning);
}

.mt-register__role-card.mt-auth-role--supervisor:has(input:checked) {
	background: rgba(109, 40, 217, 0.12); /* intentionally fixed: purple supervisor accent has no token */
	border-color: #7c3aed;
}

.mt-register__role-card.mt-auth-role--supervisor:has(input:checked) .mt-auth-role__label {
	color: #6d28d9;
}

.mt-register__supervise-opt {
	margin-top: 0.85rem;
	display: flex;
	justify-content: center;
}

.mt-register__supervise-card {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	width: 100%;
	max-width: 36rem;
	cursor: pointer;
	text-align: center;
}

.mt-register__supervise-line {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	flex-wrap: wrap;
}

.mt-register__supervise-card input[type="checkbox"] {
	position: static;
	opacity: 1;
	appearance: auto;
	-webkit-appearance: checkbox;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0;
	flex-shrink: 0;
}

.mt-register__supervise-card .mt-register__entity-title,
.mt-register__supervise-card .mt-register__entity-desc {
	text-align: center;
}

.mt-register__lang-builder {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.6rem;
	margin-bottom: 0.9rem;
}

.mt-register__lang-builder select {
	flex: 1 1 12rem;
	min-width: 9rem;
	height: 2.6rem;
	box-sizing: border-box;
}

.mt-register__lang-builder [data-lang-add] {
	flex-shrink: 0;
	height: 2.6rem;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
}

.mt-register__lang-builder select:disabled,
.mt-register__lang-builder [data-lang-add]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.mt-register__lang-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mt-register__lang-empty {
	margin: 0;
	color: var(--mt-text-muted);
	font-size: 0.88rem;
}

.mt-register__lang-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0.5rem 0.4rem 0.7rem;
	border: 1px solid var(--mt-line);
	border-radius: 999px;
	background: var(--mt-panel-2);
	font-size: 0.88rem;
}

.mt-register__lang-chip-name {
	font-weight: 600;
}

.mt-register__lang-chip-level {
	color: var(--mt-text-muted);
}

.mt-register__lang-chip-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.3rem;
	height: 1.3rem;
	border: none;
	border-radius: 50%;
	background: color-mix(in srgb, var(--mt-ink) 8%, transparent);
	color: inherit;
	cursor: pointer;
	line-height: 1;
	font-size: 0.95rem;
}

.mt-register__lang-chip-remove:hover {
	background: var(--mt-danger-bg);
	color: var(--mt-danger);
}

.mt-iran-city {
	display: grid;
	gap: 0.85rem;
}

.mt-iran-city select {
	width: 100%;
	max-width: 100%;
}

.mt-register__fieldset[hidden],
.mt-register__section[hidden],
.mt-register [hidden] {
	display: none !important;
}

.mt-register__head {
	margin: 0 auto 1.35rem;
	text-align: center;
	max-width: none;
	width: 100%;
}

.mt-register__error {
	margin: 0 auto 1rem;
	max-width: 40rem;
	padding: 0.75rem 0.9rem;
	border-radius: 0.5rem;
	border: 1px solid var(--mt-danger-border);
	background: var(--mt-danger-bg);
	color: var(--mt-danger);
	font-size: 0.9rem;
	text-align: justify;
}

@media (max-width: 960px) {
	.mt-register__role-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mt-register {
		width: min(1240px, calc(100% - 1.25rem));
	}

	.mt-register__role-grid,
	.mt-register__entity-grid {
		grid-template-columns: 1fr;
	}

	.mt-register__step {
		text-align: start;
		justify-content: flex-start;
	}

	.mt-register__actions .mt-btn {
		width: 100%;
		min-width: 0;
	}

	.mt-register__role-card,
	.mt-register__entity-card {
		min-height: 0;
		text-align: start;
		align-items: stretch;
	}

	.mt-register__role-card .mt-auth-role__summary,
	.mt-register__entity-desc {
		text-align: justify;
	}
}

.mt-header-actions .mt-account-menu,
.mt-account-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem;
}

.mt-account-menu__who {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-decoration: none;
	color: inherit;
	line-height: 1.25;
	padding-inline: 0.35rem;
	max-width: 10rem;
}

.mt-account-menu__name {
	font-weight: 700;
	font-size: 0.92rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.mt-account-menu__role {
	font-size: 0.75rem;
	color: var(--mt-text-muted);
}

.mt-account-menu__switch {
	position: relative;
}

.mt-account-menu__switch summary {
	list-style: none;
	cursor: pointer;
	padding: 0.45rem 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.35rem;
	font-size: 0.85rem;
	font-weight: 600;
	background: var(--mt-panel);
}

.mt-account-menu__switch summary.mt-account-menu__icon {
	padding: 0;
	border: 0;
	background: transparent;
	font-weight: inherit;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mt-account-menu__switch summary::-webkit-details-marker {
	display: none;
}

.mt-account-menu__switch .mt-header-flyout__panel {
	width: min(14rem, calc(100vw - 1.5rem));
}

.mt-account-menu__switch-form {
	display: grid;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	min-width: 0;
	position: static;
}

.mt-account-menu__switch-form button {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid transparent;
	background: rgba(255, 255, 255, 0.04);
	color: inherit;
	text-align: start;
	padding: 0.55rem 0.65rem;
	margin: 0;
	font-family: var(--mt-font, "Vazirmatn", Tahoma, Arial, sans-serif);
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: normal;
	cursor: pointer;
	border-radius: 0.65rem;
}

.mt-account-menu__switch-form button:hover {
	background: rgba(255, 255, 255, 0.1);
}

.mt-account-menu__switch-form button.is-active {
	background: rgba(34, 211, 238, 0.12);
	border-color: rgba(34, 211, 238, 0.2);
	font-weight: 600;
}

.mt-account-menu--bar {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.15rem;
}

.mt-account-menu--bar .mt-account-menu__who {
	flex-direction: row;
	padding: 0.1rem;
	max-width: none;
}

.mt-account-menu__avatar {
	width: 2rem;
	height: 2rem;
	border-radius: 0.45rem;
	object-fit: cover;
	display: block;
}

.mt-account-menu__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	text-decoration: none;
	color: inherit;
}

/* Absolute badge only on header icon buttons ? never panel nav */
.mt-account-menu__icon .mt-nav-badge,
.mt-header-flyout > summary .mt-nav-badge {
	position: absolute;
	top: 0.1rem;
	inset-inline-end: 0.05rem;
	min-width: 1rem;
	height: 1rem;
	padding: 0 0.2rem;
	border-radius: 999px;
	background: var(--mt-danger);
	color: var(--mt-white);
	font-size: 0.65rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1rem;
	text-align: center;
}

.mt-btn--sm {
	height: 2rem !important;
	min-height: 2rem !important;
	max-height: 2rem !important;
	padding-block: 0 !important;
	padding-inline: 0.85rem !important;
	font-size: 0.8rem !important;
	line-height: 1 !important;
	border-radius: 0.5rem !important;
}


/* ?? Panel polish ?? */
.mt-panel {
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	padding: 1.25rem 1.35rem;
	color: var(--mt-ink);
	animation: mt-panel-in 0.55s var(--mt-ease) both;
}
@keyframes mt-panel-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}
.mt-ops-settings-accordion {
	padding: 0;
	overflow: hidden;
}
.mt-ops-settings-accordion__summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	padding: 0.7rem 0.9rem;
	user-select: none;
}
.mt-ops-settings-accordion__summary::-webkit-details-marker {
	display: none;
}
.mt-ops-settings-accordion__summary h2,
.mt-ops-settings-accordion__summary h3 {
	margin: 0;
	font-size: 0.92rem;
}
.mt-ops-settings-accordion__summary::after {
	content: "";
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	border-inline-end: 2px solid var(--mt-text-muted);
	border-block-end: 2px solid var(--mt-text-muted);
	transform: rotate(45deg);
	transition: transform 0.18s var(--mt-ease);
}
.mt-ops-settings-accordion[open] > .mt-ops-settings-accordion__summary::after {
	transform: rotate(-135deg);
}
.mt-ops-settings-accordion__summary:hover::after {
	border-color: var(--mt-ink);
}
.mt-ops-settings-accordion__body {
	padding: 0 0.9rem 1rem;
	border-top: 1px solid var(--mt-line);
	padding-top: 0.9rem;
}
.mt-app__nav a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	position: relative;
}
.mt-app__nav a.is-active::before {
	content: "";
	position: absolute;
	inset-inline-start: -0.35rem;
	top: 20%;
	bottom: 20%;
	width: 3px;
	background: var(--mt-accent);
}
.mt-app__nav .mt-nav-badge,
.mt-app .mt-nav-badge {
	position: static;
	box-sizing: border-box;
	display: inline-grid;
	place-items: center;
	place-content: center;
	min-width: 1.3rem;
	width: max-content;
	height: 1.3rem;
	min-height: 1.3rem;
	max-height: 1.3rem;
	padding: 0 0.3rem;
	margin: 0;
	align-items: center;
	justify-content: center;
	font-style: normal;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	background: var(--mt-accent);
	color: var(--mt-on-accent);
	border-radius: 999px;
	flex: 0 0 auto;
	transform: translateY(0.06em);
	margin-inline-start: auto;
}
.mt-app-muted {
	color: var(--mt-text-muted);
	opacity: 1;
}

.mt-inbox__head,
.mt-notify-center__head {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 1rem;
}
.mt-inbox__search {
	position: relative;
	min-width: min(100%, 280px);
	flex: 1 1 220px;
	max-width: 320px;
}
.mt-inbox__search-shell {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	box-sizing: border-box;
	min-height: 2.55rem;
	padding-block: 0.15rem;
	padding-inline: 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.65rem;
	background: var(--mt-panel-2);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.mt-inbox__search-shell:focus-within {
	border-color: color-mix(in srgb, var(--mt-accent) 55%, var(--mt-line));
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent) 18%, transparent);
	background: var(--mt-panel);
}
.mt-inbox__search-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	color: var(--mt-text-muted);
	pointer-events: none;
	line-height: 0;
}
.mt-inbox__search-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}
.mt-inbox__search-input,
.mt-inbox__search input {
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 0.5rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--mt-ink);
	font: inherit;
	outline: none;
	box-shadow: none;
}
.mt-inbox__search-input:focus,
.mt-inbox__search input:focus {
	outline: none;
	box-shadow: none;
}
.mt-inbox__results {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0.35rem;
	position: absolute;
	inset-inline: 0;
	z-index: 30;
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	border-radius: 0.65rem;
	box-shadow: 0 12px 28px rgba(11, 18, 32, 0.12);
	max-height: 240px;
	overflow: auto;
}
.mt-inbox__results button {
	display: block;
	width: 100%;
	text-align: start;
	border: 0;
	background: transparent;
	padding: 0.55rem 0.65rem;
	border-radius: 0.45rem;
	font: inherit;
	cursor: pointer;
	color: inherit;
}
.mt-inbox__results button:hover { background: color-mix(in srgb, var(--mt-accent) 12%, transparent); }
.mt-inbox__result-btn {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	direction: rtl;
	text-align: right;
}
.mt-inbox__result-text {
	display: grid;
	gap: 0.05rem;
	min-width: 0;
}
.mt-inbox__result-text strong { font-size: 0.86rem; }
.mt-inbox__result-text small {
	color: var(--mt-text-muted);
	font-size: 0.72rem;
}
.mt-inbox__results-empty {
	padding: 0.65rem 0.75rem;
	color: var(--mt-text-muted);
	font-size: 0.82rem;
	text-align: right;
}
.mt-presence {
	display: inline-block;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	flex-shrink: 0;
	background: var(--mt-text-muted);
}
.mt-presence.is-online { background: var(--mt-success); }
.mt-presence.is-offline { background: var(--mt-text-muted); }
.mt-inbox__layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	min-height: 0;
}
.mt-inbox__stack {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}
.mt-inbox__layout.has-directory {
	grid-template-columns: 1fr;
}
.mt-inbox__directory {
	display: none !important;
}
.mt-inbox__directory,
.mt-inbox__list {
	border: 1px solid var(--mt-line);
	background: var(--mt-panel-2);
	overflow: auto;
	max-height: 280px;
	border-radius: 0.55rem;
}
.mt-inbox__dir-title {
	display: block;
	padding: 0.5rem 0.7rem 0.25rem;
	font-size: 0.72rem;
	color: var(--mt-text-muted);
}
.mt-inbox__dir-list {
	list-style: none;
	margin: 0;
	padding: 0 0 0.35rem;
}
.mt-inbox__dir-item {
	display: grid;
	gap: 0.08rem;
	padding: 0.38rem 0.7rem;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid color-mix(in srgb, var(--mt-line) 65%, transparent);
	line-height: 1.3;
}
.mt-inbox__dir-item strong { font-size: 0.82rem; font-weight: 600; }
.mt-inbox__dir-item small {
	display: block;
	color: var(--mt-text-muted);
	font-size: 0.68rem;
}
.mt-inbox__dir-item:hover,
.mt-inbox__dir-item.is-active {
	background: color-mix(in srgb, var(--mt-accent) 10%, transparent);
}
.mt-inbox__consent {
	padding: 0.45rem 0.85rem;
	border-bottom: 1px solid var(--mt-line);
	background: color-mix(in srgb, var(--mt-accent) 6%, var(--mt-panel-2));
}
.mt-inbox__consent > p,
.mt-inbox__consent .mt-notice {
	margin: 0;
	padding: 0.15rem 0;
	line-height: 1.45;
	font-size: 0.86rem;
}
.mt-inbox__consent-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.4rem;
}
.mt-inbox__hint {
	margin: 0.85rem 1rem;
	font-size: 0.82rem;
	color: var(--mt-text-muted);
}
.mt-inbox__bubble.is-system {
	background: color-mix(in srgb, var(--mt-warning) 12%, var(--mt-panel));
	border: 1px solid color-mix(in srgb, var(--mt-warning) 35%, transparent);
	align-self: stretch;
	max-width: 100%;
}
.mt-inbox__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 5.5rem;
	margin: 0;
	padding: 0.85rem 0.7rem;
	width: 100%;
	font-size: 0.78rem;
}
@media (max-width: 900px) {
	.mt-inbox__layout.has-directory {
		grid-template-columns: 1fr;
	}
}
.mt-inbox__item {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.35rem;
	align-items: center;
	padding: 0.42rem 0.7rem;
	border-bottom: 1px solid color-mix(in srgb, var(--mt-line) 65%, transparent);
	text-decoration: none;
	color: inherit;
}
.mt-inbox__item-main { display: grid; gap: 0.08rem; min-width: 0; }
.mt-inbox__item-main strong { font-size: 0.82rem; }
.mt-inbox__item span { font-size: 0.7rem; color: var(--mt-text-muted); }
.mt-inbox__item.is-active,
.mt-inbox__item:hover { background: color-mix(in srgb, var(--mt-accent) 10%, transparent); }
.mt-inbox__item--unified {
	grid-template-columns: 1fr;
	gap: 0.3rem;
	align-items: start;
}
.mt-inbox__item-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.mt-ticket-detail__head {
	padding: 0.75rem 0.9rem 0;
}

.mt-ticket-initial-request {
	margin: 0.75rem 0.9rem;
	padding: 0.75rem;
	border: 1px solid color-mix(in srgb, var(--mt-accent) 35%, var(--mt-line));
	background: color-mix(in srgb, var(--mt-accent) 8%, var(--mt-panel));
	border-radius: 0.55rem;
}

.mt-ticket-initial-request .mt-app-chat__meta strong {
	color: var(--mt-accent);
}

.mt-rating-form {
	border: 1px solid var(--mt-line);
	border-radius: 0.6rem;
	padding: 0.85rem;
	margin: 0.75rem 0;
	background: var(--mt-panel-2);
}

.mt-rating-stars {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 0.15rem;
	font-size: 1.6rem;
	margin: 0.4rem 0 0.6rem;
}

.mt-rating-stars input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.mt-rating-stars label {
	cursor: pointer;
	color: var(--mt-line);
	transition: color 0.1s ease;
}

.mt-rating-stars input:checked ~ label,
.mt-rating-stars label:hover,
.mt-rating-stars label:hover ~ label {
	color: var(--mt-warning);
}

@keyframes mt-pulse {
	0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mt-danger) 55%, transparent); }
	50% { box-shadow: 0 0 0 0.4rem color-mix(in srgb, var(--mt-danger) 0%, transparent); }
}

.mt-support-ai-staff__queue.is-alerting {
	animation: mt-pulse 0.9s ease-in-out 3;
	border-radius: 0.5rem;
}
.mt-inbox__pane {
	border: 1px solid var(--mt-line);
	display: flex;
	flex-direction: column;
	min-height: 360px;
	max-height: min(70vh, 640px);
	background: var(--mt-panel);
	border-radius: 0.55rem;
	overflow: hidden;
}
.mt-inbox__peer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.65rem 0.9rem;
	border-bottom: 1px solid var(--mt-line);
	background: var(--mt-panel-2);
	flex: 0 0 auto;
}
.mt-inbox__peer strong { font-size: 0.9rem; }
.mt-inbox__thread {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	background: color-mix(in srgb, var(--mt-mist) 35%, transparent);
}
.mt-inbox__bubble {
	background: var(--mt-panel);
	border: 1px solid var(--mt-line);
	padding: 0.55rem 0.75rem;
	max-width: 85%;
	align-self: flex-start;
	border-radius: 0.55rem;
}
.mt-inbox__bubble.is-mine {
	align-self: flex-end;
	background: color-mix(in srgb, var(--mt-accent) 14%, var(--mt-panel));
	border-color: color-mix(in srgb, var(--mt-accent) 35%, var(--mt-line));
}
.mt-inbox__form,
.mt-inbox__form.mt-composer {
	padding: 0.75rem 0.9rem;
	border-top: 1px solid var(--mt-line);
	flex: 0 0 auto;
	background: var(--mt-panel);
}
.mt-inbox__placeholder {
	margin: auto;
	text-align: center;
	padding: 2rem;
}
.mt-notify-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.mt-notify-list__item {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.85rem;
	justify-content: space-between;
	align-items: center;
	padding: 0.85rem 1rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
}
.mt-notify-list__item.is-unread {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, var(--mt-line));
	box-shadow: inset 3px 0 0 var(--mt-accent);
	background: color-mix(in srgb, var(--mt-accent) 5%, var(--mt-panel));
}
.mt-notify-list__body {
	min-width: 0;
	flex: 1 1 auto;
	display: grid;
	gap: 0.2rem;
}
.mt-notify-list__title {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--mt-ink);
}
.mt-notify-list__text {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.55;
	color: var(--mt-text-muted);
}
.mt-notify-list__time {
	display: block;
	font-size: 0.75rem;
	color: var(--mt-text-muted);
	opacity: 0.85;
}
.mt-notify-list__actions {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	align-self: center;
	gap: 0.4rem;
	flex: 0 0 auto;
}
.mt-notify-list__form {
	display: inline-flex;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	line-height: 0;
}
.mt-notify-list__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 2rem;
	min-height: 2rem;
	max-height: 2rem;
	padding: 0 0.75rem;
	margin: 0;
	border-radius: 0.4rem;
	border: 1px solid transparent;
	font: inherit;
	font-size: 0.78rem;
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
.mt-notify-list__btn--ghost {
	background: var(--mt-panel);
	border-color: var(--mt-line);
	color: var(--mt-ink);
}
.mt-notify-list__btn--ghost:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 45%, var(--mt-line));
	color: var(--mt-accent);
}
.mt-notify-list__btn--solid {
	background: var(--mt-accent);
	border-color: var(--mt-accent);
	color: var(--mt-on-accent);
	pointer-events: auto;
	opacity: 1;
}
.mt-notify-list__btn--solid:disabled {
	opacity: 0.65;
	cursor: wait;
}
.mt-notify-list__btn--solid:hover {
	filter: brightness(1.05);
}
@media (max-width: 640px) {
	.mt-notify-list__item {
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.mt-notify-list__actions {
		width: 100%;
		justify-content: flex-start;
	}
}
.mt-notify-matrix {
	display: grid;
	gap: 0.35rem;
	margin: 1rem 0 1.5rem;
	overflow-x: auto;
}
.mt-notify-matrix__row {
	display: grid;
	grid-template-columns: minmax(160px, 1.6fr) repeat(3, 4.5rem);
	gap: 0.5rem;
	align-items: center;
	padding: 0.55rem 0.35rem;
	border-bottom: 1px solid var(--mt-line);
}
.mt-notify-matrix__row.is-head { font-weight: 700; font-size: 0.85rem; color: var(--mt-text-muted); }
.mt-notify-matrix__row label { justify-self: center; }
.mt-settings-block { margin-bottom: 1.75rem; }
.mt-theme-picker { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.mt-theme-picker__option {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel-2);
	cursor: pointer;
	min-width: 8rem;
}
.mt-theme-picker__option:has(input:checked) {
	border-color: var(--mt-accent);
	box-shadow: inset 0 0 0 1px var(--mt-accent);
}

@media (max-width: 860px) {
	.mt-inbox__layout { grid-template-columns: 1fr; }
	.mt-inbox__list { max-height: 220px; }
	.mt-notify-matrix__row {
		grid-template-columns: 1fr repeat(3, 3.5rem);
		font-size: 0.85rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mt-panel { animation: none; }
}

/* Ops users analytics dashboard */
.mt-ops-users__head {
	margin-bottom: 1rem;
}

.mt-ops-users__kpis {
	margin-bottom: 1.25rem;
	grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
	gap: 0.75rem;
}

.mt-ops-users__kpis .mt-client-kpi {
	position: relative;
	overflow: hidden;
	padding-top: 0.9rem;
	border-top: 2px solid transparent;
}

.mt-ops-users__kpis .mt-client-kpi strong {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--mt-accent);
}

.mt-ops-users__kpis a.mt-client-kpi--link {
	border-top-color: color-mix(in srgb, var(--mt-accent) 55%, transparent);
	cursor: pointer;
}

.mt-ops-users__kpis a.mt-client-kpi--link:hover {
	background: color-mix(in srgb, var(--mt-accent) 6%, var(--mt-panel));
	box-shadow: var(--mt-client-shadow), 0 4px 14px color-mix(in srgb, var(--mt-accent) 18%, transparent);
}

.mt-ops-users__kpis a.mt-client-kpi--link:active {
	transform: translateY(0);
}

.mt-ops-users__kpis .mt-client-kpi--online strong {
	color: var(--mt-success);
}

.mt-ops-users__kpis a.mt-client-kpi--online {
	border-top-color: color-mix(in srgb, var(--mt-success) 55%, transparent);
}

.mt-ops-users__kpis a.mt-client-kpi--online:hover {
	background: color-mix(in srgb, var(--mt-success) 6%, var(--mt-panel));
	box-shadow: var(--mt-client-shadow), 0 4px 14px color-mix(in srgb, var(--mt-success) 18%, transparent);
}

.mt-ops-sheet__presence {
	margin-inline-end: 0.35rem;
	vertical-align: middle;
}

.mt-ops-overview__section-title {
	margin: 1.75rem 0 0.75rem;
	color: var(--mt-ink);
	font-size: 1.05rem;
}

.mt-ops-users__charts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.mt-ops-users__chart-card {
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
	border-radius: 8px;
	padding: 1rem;
	min-height: 0;
	overflow: hidden;
}

.mt-ops-users__chart-card h3 {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--mt-ink);
}

.mt-ops-users__chart-box {
	position: relative;
	width: 100%;
	height: 220px;
	max-height: 220px;
	overflow: hidden;
}

.mt-ops-users__chart-box canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-height: 220px !important;
}

/* Extra headroom for charts with many/long category labels along the x-axis (e.g. the project
   roadmap timeline's 15 stages) so labels don't overlap or get clipped. */
.mt-ops-users__chart-box--wide {
	height: 340px;
	max-height: 340px;
}

.mt-ops-users__chart-box--wide canvas {
	max-height: 340px !important;
}

.mt-ops-users__actions {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.35rem;
	align-items: center;
}

.mt-ops-users__actions form {
	display: inline-flex;
	margin: 0;
}

.mt-ops-users__table tr.is-suspended {
	background: var(--mt-danger-bg);
}

.mt-badge--warn {
	background: var(--mt-warning-bg);
	color: var(--mt-warning);
}

.mt-badge--ok {
	background: var(--mt-success-bg, rgba(22, 163, 74, 0.14));
	color: var(--mt-success);
}

.mt-badge--guarantee {
	background: color-mix(in srgb, var(--mt-accent) 16%, transparent);
	color: var(--mt-accent);
	font-weight: 600;
}

.mt-badge--score {
	background: var(--mt-info-bg);
	color: var(--mt-info);
}

.mt-badge--accent {
	background: color-mix(in srgb, var(--mt-accent) 16%, transparent);
	color: var(--mt-accent);
	font-weight: 600;
}

.mt-badge--muted {
	background: var(--mt-panel-2, rgba(0, 0, 0, 0.06));
	color: var(--mt-muted, var(--mt-ink-2));
}

.mt-progress {
	display: inline-block;
	width: 6rem;
	height: 0.5rem;
	border-radius: 999px;
	background: var(--mt-panel-2, rgba(0, 0, 0, 0.08));
	overflow: hidden;
	vertical-align: middle;
	margin-inline-end: 0.5rem;
}

.mt-progress span {
	display: block;
	height: 100%;
	background: var(--mt-accent);
	border-radius: inherit;
}

.mt-priority {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}

.mt-priority::before {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 999px;
	background: currentColor;
	flex: none;
}

.mt-priority--urgent {
	background: var(--mt-danger-bg, color-mix(in srgb, var(--mt-danger) 16%, transparent));
	color: var(--mt-danger);
}

.mt-priority--high {
	background: var(--mt-warning-bg, color-mix(in srgb, var(--mt-warning) 16%, transparent));
	color: var(--mt-warning);
}

.mt-priority--normal {
	background: var(--mt-panel-2, rgba(0, 0, 0, 0.06));
	color: var(--mt-ink-2, var(--mt-text-muted));
}

.mt-priority--low {
	background: color-mix(in srgb, var(--mt-info) 12%, transparent);
	color: var(--mt-info);
}

/* "امکانات پنل‌های کارشناسان" — two-column drag-and-drop board (available <-> active sections). */
.mt-staff-features__role-tabs {
	margin-top: 0.5rem;
}
.mt-staff-features__role-tab.is-active {
	background: var(--mt-accent);
	color: var(--mt-panel);
	border-color: var(--mt-accent);
}
.mt-staff-features__user-picker select {
	width: 100%;
	max-width: 26rem;
	padding: 0.55rem 0.75rem;
	border-radius: 0.6rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel-2);
	color: var(--mt-ink);
}
.mt-staff-features__board {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}
.mt-staff-features__board[hidden] {
	display: none;
}
.mt-staff-features__col {
	border: 1px solid var(--mt-line);
	border-radius: 0.6rem;
	background: var(--mt-panel-2);
	padding: 0.75rem;
	min-height: 12rem;
}
.mt-staff-features__col h4 {
	margin: 0 0 0.6rem;
	font-size: 0.85rem;
	color: var(--mt-text-muted);
}
.mt-staff-features__col-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.6rem;
}
.mt-staff-features__col-head h4 {
	margin: 0;
}
/* Active column: a stack of named group boxes, each its own dropzone; "available" stays one
   flat pool. DOM order is (active, available), so in RTL the active column renders on the
   right and available on the left, as requested. */
.mt-staff-features__groups {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
/* Fixed, non-removable dropzone for sections with no submenu (e.g. "کارتابل کاربری") — they
   render as flat top-level nav links, same as ops-overview/workboard do in the ops panel. */
.mt-staff-features__standalone {
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px dashed var(--mt-line);
}
.mt-staff-features__standalone h5 {
	margin: 0 0 0.5rem;
	font-size: 0.76rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}
.mt-staff-features__list--standalone {
	min-height: 3rem;
	border: 1px dashed var(--mt-line);
	border-radius: 0.5rem;
	padding: 0.4rem;
}
.mt-staff-features__group {
	border: 1px solid var(--mt-line);
	border-radius: 0.5rem;
	background: var(--mt-panel);
	padding: 0.6rem;
	transition: opacity 0.15s ease;
}
.mt-staff-features__group.is-dragging {
	opacity: 0.4;
}
.mt-staff-features__group-head {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}
.mt-staff-features__group-handle {
	flex: 0 0 auto;
	cursor: grab;
	color: var(--mt-text-muted);
	font-size: 1rem;
	line-height: 1;
	padding: 0.15rem 0.2rem;
	user-select: none;
}
.mt-staff-features__group-name {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.4rem 0.6rem;
	border-radius: 0.45rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel-2);
	color: var(--mt-ink);
	font-size: 0.82rem;
	font-weight: 600;
}
.mt-staff-features__group-remove {
	flex: 0 0 auto;
	border: none;
	background: transparent;
	color: var(--mt-danger, #f87171);
	cursor: pointer;
	font-size: 1.1rem;
	line-height: 1;
	padding: 0.15rem 0.4rem;
}
.mt-staff-features__list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 3rem;
	border-radius: 0.5rem;
	transition: background 0.15s ease;
}
.mt-staff-features__col[data-role="available"] .mt-staff-features__list {
	min-height: 10rem;
}
.mt-staff-features__list.is-drop-target {
	background: color-mix(in srgb, var(--mt-accent, #2dd4bf) 10%, transparent);
	outline: 2px dashed var(--mt-accent, #2dd4bf);
	outline-offset: 2px;
}
.mt-staff-features__chip {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.7rem;
	border-radius: 0.5rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	cursor: grab;
	user-select: none;
}
.mt-staff-features__col--active .mt-staff-features__chip {
	background: var(--mt-panel-2);
}
.mt-staff-features__chip.is-dragging {
	opacity: 0.4;
}
.mt-staff-features__chip-label {
	font-size: 0.86rem;
	font-weight: 600;
	flex: 1 1 auto;
}
.mt-staff-features__chip-group {
	font-size: 0.72rem;
	color: var(--mt-text-muted);
}
.mt-staff-features__hint {
	margin-top: 0.6rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}
.mt-staff-features__board-actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.85rem;
}
.mt-staff-features__board-actions[hidden] {
	display: none;
}
.mt-staff-features__save-state {
	font-size: 0.8rem;
}
.mt-staff-features__save-state.is-ok {
	color: var(--mt-success);
}
.mt-staff-features__save-state.is-err {
	color: var(--mt-danger, #f87171);
}
@media (max-width: 640px) {
	.mt-staff-features__board {
		grid-template-columns: 1fr;
	}
}

.mt-staff-manager__list {
	display: grid;
	gap: 0.6rem;
	margin-top: 1.25rem;
}

.mt-staff-manager__new {
	margin-bottom: 1.25rem;
}

/* "ایجاد کارشناس" — two explicit rows (کاربری/نمایشی، then ایمیل/رمز) instead of the old
   auto-fill grid, which wrapped fields unpredictably depending on container width. */
.mt-staff-manager__create-form {
	padding: 0.85rem;
}

.mt-staff-manager__create-row {
	display: flex;
	gap: 1rem;
	margin-bottom: 1rem;
}

.mt-staff-manager__create-row .mt-staff-manager__field {
	flex: 1 1 0;
	min-width: 0;
}

.mt-staff-manager__field label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--mt-ink);
}

.mt-staff-manager__field input {
	margin-bottom: 0 !important;
	padding: 0.55rem 0.75rem;
	border-radius: 0.6rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel-2);
	font-size: 0.86rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.mt-staff-manager__field input:hover {
	border-color: var(--mt-accent, var(--mt-line));
}
.mt-staff-manager__field input:focus {
	outline: none;
	border-color: var(--mt-accent, var(--mt-line));
	background: var(--mt-panel);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent, #2dd4bf) 20%, transparent);
}
.mt-staff-manager__field input::placeholder {
	color: var(--mt-text-muted);
}

@media (max-width: 560px) {
	.mt-staff-manager__create-row {
		flex-direction: column;
		gap: 0.75rem;
	}
}

.mt-inbox__type-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.5rem;
	border-radius: 0.4rem;
	font-size: 0.68rem;
	font-weight: 600;
	background: var(--mt-panel-2, rgba(0, 0, 0, 0.06));
	color: var(--mt-ink-2, var(--mt-text-muted));
	white-space: nowrap;
}

.mt-score-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: help;
	outline: none;
}
.mt-score-chip__value {
	display: inline-block;
}
.mt-score-chip__tip {
	position: absolute;
	z-index: 60;
	left: 50%;
	top: calc(100% + 0.45rem);
	bottom: auto;
	transform: translateX(-50%);
	min-width: 16rem;
	max-width: min(22rem, 86vw);
	padding: 0.7rem 0.8rem;
	border-radius: 0.65rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	box-shadow: 0 14px 32px rgba(10, 16, 24, 0.16);
	color: var(--mt-ink);
	text-align: start;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.15s ease, visibility 0.15s ease;
}
.mt-score-chip:hover .mt-score-chip__tip,
.mt-score-chip:focus-within .mt-score-chip__tip {
	opacity: 1;
	visibility: visible;
}
.mt-score-chip__tip-head {
	display: block;
	font-size: 0.84rem;
	font-weight: 700;
	margin-bottom: 0.45rem;
}
.mt-score-chip__tip-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.35rem;
}
.mt-score-chip__tip-list li {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.15rem 0.55rem;
	font-size: 0.78rem;
	padding: 0.35rem 0.4rem;
	border-radius: 0.4rem;
	background: var(--mt-panel-2);
}
.mt-score-chip__tip-label {
	grid-column: 1;
	font-weight: 600;
}
.mt-score-chip__tip-metric {
	grid-column: 1;
	color: var(--mt-steel);
	font-size: 0.74rem;
}
.mt-score-chip__tip-pts {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	font-weight: 700;
	color: var(--mt-accent);
	font-variant-numeric: tabular-nums;
}
.mt-score-chip__tip-note {
	display: block;
	margin-top: 0.45rem;
	font-size: 0.7rem;
	color: var(--mt-steel);
	line-height: 1.4;
}
.mt-score-chip--sidebar {
	justify-content: center;
}
.mt-score-chip--badge.mt-badge {
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
}

.mt-profile-hero {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}

.mt-profile-hero__meta {
	display: grid;
	gap: 0.55rem;
	min-width: 0;
	justify-items: start;
}

.mt-profile-hero__meta > .mt-app-muted {
	margin: 0;
}

.mt-profile-hero__score-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
}

.mt-profile-hero__score-row .mt-badge {
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
	margin: 0;
}

.mt-profile-hero__icon-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}

.mt-profile-hero__icon-badges .mt-icon-badges {
	margin: 0;
}

.mt-profile-hero__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid color-mix(in srgb, var(--mt-accent) 35%, transparent);
}

.mt-profile-hero__avatar--empty {
	display: inline-block;
	background: var(--mt-panel-2);
}

.mt-trophies {
	margin: 0 0 1.25rem;
}

.mt-trophies__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
}

.mt-trophy {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.65rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: color-mix(in srgb, var(--mt-signal) 8%, transparent);
	font-size: 0.85rem;
}

.mt-trophy__icon {
	font-size: 1rem;
}

/* Icon badges / trophies */
.mt-icon-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0.55rem 0 0;
	padding: 0;
}

.mt-icon-badge {
	position: relative;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	cursor: default;
	outline: none;
	transition: transform 0.18s var(--mt-ease, ease), box-shadow 0.18s ease;
}

.mt-icon-badge__glyph {
	display: inline-flex;
	line-height: 0;
}

.mt-icon-badge.is-earned {
	box-shadow: 0 2px 6px rgba(10, 16, 24, 0.06);
}

.mt-icon-badge.is-earned:hover,
.mt-icon-badge.is-earned:focus-visible {
	transform: translateY(-1px) scale(1.06);
	z-index: 2;
}

.mt-icon-badge.is-locked {
	opacity: 0.38;
	filter: grayscale(1);
	background: var(--mt-panel-2);
	border-color: var(--mt-line);
	color: var(--mt-text-muted);
}

.mt-icon-badge--bronze.is-earned {
	background: linear-gradient(145deg, #fff7ed, #ffedd5); /* intentionally fixed: metallic badge finish */
	border-color: #c2410c;
	color: #9a3412;
}
.mt-icon-badge--silver.is-earned {
	background: linear-gradient(145deg, #f8fafc, #e2e8f0); /* intentionally fixed: metallic badge finish */
	border-color: #64748b;
	color: #334155;
}
.mt-icon-badge--gold.is-earned {
	background: linear-gradient(145deg, #fffbeb, #fef3c7); /* intentionally fixed: metallic badge finish */
	border-color: #d97706;
	color: #b45309;
}
.mt-icon-badge--teal.is-earned {
	background: linear-gradient(145deg, #ecfeff, #cffafe); /* intentionally fixed: metallic badge finish */
	border-color: #0e7490;
	color: #0e7490;
}
.mt-icon-badge--platinum.is-earned {
	/* Top tier, deliberately rarest — an icy blue-white metallic finish distinct from gold, with
	   a subtle glow so it reads as a step above every other tier at a glance. */
	background: linear-gradient(145deg, #f8fafc, #dbeafe, #e0f2fe); /* intentionally fixed: metallic badge finish */
	border-color: #3b82f6;
	color: #1d4ed8;
	box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.25), 0 2px 10px rgba(59, 130, 246, 0.25);
}

.mt-icon-badge__tooltip {
	position: absolute;
	bottom: calc(100% + 0.45rem);
	inset-inline-start: 50%;
	transform: translateX(-50%) translateY(4px);
	min-width: 9rem;
	max-width: 14rem;
	padding: 0.4rem 0.55rem;
	border-radius: 0.45rem;
	background: #0f172a; /* intentionally fixed: tooltip stays dark-on-light for contrast in both themes */
	color: #f8fafc;
	font-size: 0.72rem;
	line-height: 1.4;
	text-align: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
	z-index: 20;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.25);
}

.mt-icon-badge__tooltip small {
	display: block;
	margin-top: 0.2rem;
	opacity: 0.8;
	font-size: 0.66rem;
}

.mt-icon-badge:hover .mt-icon-badge__tooltip,
.mt-icon-badge:focus-visible .mt-icon-badge__tooltip,
.mt-icon-badge:focus-within .mt-icon-badge__tooltip {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

[dir="rtl"] .mt-icon-badge__tooltip {
	transform: translateX(50%) translateY(4px);
}
[dir="rtl"] .mt-icon-badge:hover .mt-icon-badge__tooltip,
[dir="rtl"] .mt-icon-badge:focus-visible .mt-icon-badge__tooltip,
[dir="rtl"] .mt-icon-badge:focus-within .mt-icon-badge__tooltip {
	transform: translateX(50%) translateY(0);
}

.mt-app__icon-badges {
	margin-top: 0.35rem;
}
.mt-app__icon-badges .mt-icon-badges {
	justify-content: center;
	margin-top: 0;
}
.mt-app__icon-badges .mt-icon-badge {
	width: 1.45rem;
	height: 1.45rem;
}
.mt-app__icon-badges .mt-icon-badge__svg {
	width: 14px;
	height: 14px;
}
.mt-trophies .mt-icon-badge__svg {
	width: 15px;
	height: 15px;
}
.mt-icon-badges {
	gap: 0.35rem;
}

.mt-bank-accounts {
	display: grid;
	gap: 0.85rem;
	max-width: 32rem;
}
.mt-bank-accounts__list {
	display: grid;
	gap: 0.55rem;
}
.mt-bank-accounts__list[hidden],
.mt-bank-accounts__empty[hidden],
.mt-bank-accounts__composer[hidden],
.mt-bank-accounts [data-bank-open][hidden],
.mt-bank-accounts template {
	display: none !important;
}
.mt-bank-accounts__card {
	display: grid;
	gap: 0.2rem;
	padding: 0.45rem 0.65rem 0.25rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
}
.mt-bank-accounts__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem;
}
.mt-bank-accounts__summary-body {
	display: grid;
	gap: 0.12rem;
	min-width: 0;
	flex: 1;
}
.mt-bank-accounts__summary-body strong {
	font-size: 0.92rem;
}
.mt-bank-accounts__summary-lines {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.12rem;
	color: var(--mt-text-muted);
	font-family: var(--mt-font, "Vazirmatn", Tahoma, Arial, sans-serif);
	direction: ltr;
	text-align: right;
}
.mt-bank-accounts__summary-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem;
}
.mt-bank-accounts__summary-actions > * {
	margin: 0;
}
.mt-bank-accounts__summary-actions .mt-btn {
	padding: 0.3rem 0.65rem !important;
	min-height: auto !important;
}

.mt-bank-accounts__composer {
	display: grid;
	gap: 0.65rem;
	padding: 0.85rem 0.95rem;
	border: 1px dashed var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel);
}
.mt-bank-accounts__composer.is-editing {
	border-style: solid;
	border-color: color-mix(in srgb, var(--mt-accent) 45%, transparent);
}
.mt-bank-accounts__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.65rem;
	width: 100%;
}
.mt-bank-accounts__field {
	display: grid;
	gap: 0.3rem;
	margin: 0 !important;
	width: 100%;
	font-size: 0.8rem;
	font-weight: 600;
}
.mt-bank-accounts__field span {
	color: var(--mt-ink);
}
.mt-bank-accounts__grid input {
	display: block;
	width: 100% !important;
	max-width: 100%;
	min-height: 2.25rem;
	margin: 0 !important;
	padding: 0.55rem 0.7rem !important;
	box-sizing: border-box;
	font-family: var(--mt-font, "Vazirmatn", Tahoma, Arial, sans-serif) !important;
	font-size: 0.9rem !important;
	line-height: 1.4;
}
.mt-bank-accounts__toolbar,
.mt-bank-accounts__save {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem;
}
.mt-bank-accounts__hint {
	margin: 0;
	font-size: 0.78rem;
}
.mt-bank-accounts__empty {
	margin: 0;
}
.mt-field-hint {
	display: block;
	margin: 0.2rem 0 0;
	font-size: 0.76rem;
	font-weight: 500;
	color: var(--mt-warning);
	line-height: 1.35;
}
.mt-field-hint[hidden] {
	display: none !important;
}
.mt-form input.is-invalid,
.mt-bank-accounts input.is-invalid {
	border-color: var(--mt-warning) !important;
	box-shadow: 0 0 0 1px var(--mt-warning-border);
}
.mt-payout-history,
.mt-ops-payouts {
	display: grid;
	gap: 0.75rem;
}
.mt-gateway-picker {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.4rem;
}
.mt-gateway-picker__option {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 999px;
	background: var(--mt-panel-2);
	cursor: pointer;
	font-size: 0.82rem;
	font-weight: 600;
	transition: border-color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
}
.mt-gateway-picker__option:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 45%, var(--mt-line));
}
.mt-gateway-picker__option:has(input:checked) {
	background: color-mix(in srgb, var(--mt-accent) 10%, var(--mt-panel-2));
	border-color: var(--mt-accent);
	color: var(--mt-accent);
}
.mt-gateway-picker__option input {
	margin: 0;
	width: auto;
	accent-color: var(--mt-accent);
}
/* Logo variant: no pill/border chrome around the label — the real brand logo stands on its own,
   with a white plate (so a dark-colored mark stays legible in dark mode) and a colored ring only
   when its radio is actually selected, so which one is chosen is still unambiguous at a glance. */
.mt-gateway-picker__option--logo {
	padding: 0.35rem;
	border: 2px solid transparent;
	border-radius: 0.7rem;
	background: #fff;
}
.mt-gateway-picker__option--logo:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 35%, transparent);
}
.mt-gateway-picker__option--logo:has(input:checked) {
	border-color: var(--mt-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent) 18%, transparent);
}
.mt-gateway-picker__option--logo input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.mt-gateway-picker__logo {
	display: block;
	height: 1.6rem;
	width: auto;
	max-width: 6rem;
	object-fit: contain;
}
.mt-gateway-picker__mark {
	--pg-tint: var(--mt-accent);
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--pg-tint) 16%, var(--mt-panel));
	color: color-mix(in srgb, var(--pg-tint) 82%, var(--mt-ink));
	font-weight: 700;
	font-size: 0.78rem;
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}
.mt-payout-card {
	padding: 0.85rem 0.95rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
}
.mt-payout-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
}
.mt-payout-timeline {
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.4rem;
}
.mt-payout-timeline li {
	display: grid;
	gap: 0.1rem;
	padding: 0.4rem 0.55rem;
	border-inline-start: 2px solid var(--mt-accent);
	background: color-mix(in srgb, var(--mt-accent) 5%, transparent);
	border-radius: 0.3rem;
	font-size: 0.8rem;
}
.mt-payout-timeline small {
	opacity: 0.85;
}

.mt-payout-history__search {
	display: flex;
	gap: 0.5rem;
	margin: 0.75rem 0;
	flex-wrap: wrap;
}

.mt-payout-history__search input[type="search"] {
	flex: 1 1 16rem;
}

.mt-payout-history__search .mt-payout-history__date {
	flex: 0 1 9rem;
	direction: ltr;
	text-align: end;
}

.mt-payout-history__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	overflow: hidden;
}

.mt-payout-history__list--scroll {
	max-height: 32rem;
	overflow-y: auto;
}

.mt-payout-history__row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 0.9rem;
	border-bottom: 1px solid var(--mt-line);
	color: inherit;
	text-decoration: none;
	transition: background 0.15s ease;
}

.mt-payout-history__row:last-child {
	border-bottom: 0;
}

.mt-payout-history__row:hover {
	background: color-mix(in srgb, var(--mt-accent) 6%, transparent);
}

.mt-payout-history__row-main {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	flex: 1 1 auto;
	min-width: 0;
}

.mt-payout-history__row-main strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mt-payout-history__row-amount {
	flex: 0 0 auto;
	font-weight: 700;
	font-size: 0.88rem;
	white-space: nowrap;
}

.mt-payout-history__row-amount--in {
	color: var(--mt-success);
}

.mt-payout-history__row-amount--out {
	color: var(--mt-danger);
}

/* escrow-internal movement (available↔locked, VAT held/released) — neutral, not a gain/loss */
.mt-payout-history__row-amount--move {
	color: var(--mt-text-muted);
}

/* ===========================================================================
   "تاریخچهٔ کامل کیف پول" — a proper financial ledger table.
   Semantic colour: green = money into your spendable balance, red = money out,
   slate = an internal escrow move that is neither a gain nor a loss for you.
   =========================================================================== */
.mt-wallet-ledger {
	--wl-in: var(--mt-success);
	--wl-out: var(--mt-danger);
	--wl-move: color-mix(in srgb, var(--mt-text-muted) 78%, var(--mt-ink));
	--wl-in-soft: color-mix(in srgb, var(--mt-success) 12%, transparent);
	--wl-out-soft: color-mix(in srgb, var(--mt-danger) 11%, transparent);
	--wl-move-soft: color-mix(in srgb, var(--mt-text-muted) 14%, transparent);
}
.mt-wallet-ledger__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-bottom: 1rem;
}
.mt-wallet-ledger__title {
	margin: 0 0 0.25rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--mt-ink);
	letter-spacing: -0.01em;
}
.mt-wallet-ledger__sub {
	margin: 0;
	max-width: 44rem;
	font-size: 0.82rem;
	line-height: 1.6;
	color: var(--mt-text-muted);
}
.mt-wallet-ledger__export {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	flex: 0 0 auto;
}
.mt-wallet-ledger__export-note {
	font-size: 0.74rem;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.mt-wallet-ledger__count {
	margin: 0 0 0.6rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
}
.mt-wallet-ledger__empty {
	margin: 0.5rem 0;
	color: var(--mt-text-muted);
	font-size: 0.9rem;
}
.mt-wallet-ledger__scroll {
	overflow-x: auto;
	border: 1px solid var(--mt-line);
	border-radius: 0.7rem;
	background: var(--mt-panel);
}
.mt-wallet-ledger__table {
	width: 100%;
	min-width: 56rem;
	border-collapse: collapse;
	font-size: 0.84rem;
	color: var(--mt-ink);
}
.mt-wallet-ledger__table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 0.72rem 0.9rem;
	text-align: start;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mt-text-muted);
	text-transform: none;
	background: var(--mt-panel-2);
	border-bottom: 1.5px solid var(--mt-line);
	white-space: nowrap;
}
/* Numeric columns: the figure's units column ("…٬۰۰۰") stacks on the exact same edge in
 * every row. The number is an isolated LTR run in a fixed-width right-aligned block, and the
 * "−" sign sits in its own fixed-width slot to its right so signed and unsigned rows still line
 * their digits up. Without the isolation the RTL bidi reorders the string per-row and it drifts. */
.mt-wallet-ledger__table th.is-num,
.mt-wallet-ledger__table td.is-num {
	text-align: right;      /* physical right — the column's reading edge in this RTL table */
	white-space: nowrap;
}
.mt-wallet-ledger__num {
	direction: ltr;
	unicode-bidi: isolate;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}
.mt-wallet-ledger__table th.is-date,
.mt-wallet-ledger__table td.is-date {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	color: var(--mt-text-muted);
	font-size: 0.78rem;
}
.mt-wallet-ledger__table tbody td {
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid color-mix(in srgb, var(--mt-line) 60%, transparent);
	vertical-align: top;
}
.mt-wallet-ledger__table tbody tr:last-child td {
	border-bottom: 0;
}
.mt-wallet-ledger__row {
	transition: background-color 0.12s var(--mt-ease, ease);
}
.mt-wallet-ledger__row:hover {
	background: color-mix(in srgb, var(--mt-accent) 4%, transparent);
}
/* leading accent bar at the row's visual start (the RIGHT edge in RTL) — a logical
 * inline-start border on the first cell, so it hugs the row's start in both directions */
.mt-wallet-ledger__row > td:first-child {
	border-inline-start: 3px solid transparent;
}
.mt-wallet-ledger__row.is-in > td:first-child { border-inline-start-color: var(--wl-in); }
.mt-wallet-ledger__row.is-out > td:first-child { border-inline-start-color: var(--wl-out); }
.mt-wallet-ledger__row.is-move > td:first-child { border-inline-start-color: var(--wl-move); }

/* type cell: a direction chip + the human label.
 * NOTE: never make the <td> itself display:flex — a flex <td> stops being a table cell and its
 * border-bottom then draws at the bottom of its (shorter) content instead of the row baseline,
 * so the row divider in this column lands higher than in the others. Keep the cell a normal
 * table-cell and lay its children out with block + margins. */
.mt-wallet-ledger__type {
	min-width: 12rem;
}
.mt-wallet-ledger__chip {
	display: inline-block;
	margin-bottom: 0.3rem;
	padding: 0.12rem 0.5rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1.5;
	white-space: nowrap;
}
.mt-wallet-ledger__chip.is-in { color: var(--wl-in); background: var(--wl-in-soft); }
.mt-wallet-ledger__chip.is-out { color: var(--wl-out); background: var(--wl-out-soft); }
.mt-wallet-ledger__chip.is-move { color: var(--wl-move); background: var(--wl-move-soft); }
.mt-wallet-ledger__type-label {
	display: block;
	font-size: 0.82rem;
	line-height: 1.45;
	color: var(--mt-ink);
}

/* amount: big, tabular, coloured by direction — the number's right edge is the column edge */
.mt-wallet-ledger__amount {
	white-space: nowrap;
	font-weight: 700;
	font-size: 0.9rem;
	letter-spacing: -0.01em;
}
.mt-wallet-ledger__amount > bdi { unicode-bidi: isolate; }
.mt-wallet-ledger__amount.is-in { color: var(--wl-in); }
.mt-wallet-ledger__amount.is-out { color: var(--wl-out); }
.mt-wallet-ledger__amount.is-move { color: var(--wl-move); font-weight: 600; }

/* project / milestone cell — block layout, not flex (see the __type note above) */
.mt-wallet-ledger__proj {
	min-width: 13rem;
	line-height: 1.5;
}
.mt-wallet-ledger__code {
	display: inline-block;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	font-size: 0.8rem;
	color: var(--mt-accent);
	text-decoration: none;
}
.mt-wallet-ledger__code:hover { text-decoration: underline; }
.mt-wallet-ledger__term {
	display: inline-block;
	margin-inline-start: 0.4rem;
	padding: 0.06rem 0.42rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.35rem;
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--mt-text-muted);
	background: var(--mt-panel-2);
	vertical-align: 1px;
}
.mt-wallet-ledger__ms {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.78rem;
	line-height: 1.4;
	color: var(--mt-text-muted);
}
.mt-wallet-ledger__dash { color: var(--mt-text-muted); }
.mt-wallet-ledger__party {
	font-size: 0.82rem;
	color: var(--mt-ink);
	min-width: 8rem;
}

/* balance-after: primary figure + which balance it is */
.mt-wallet-ledger__balance {
	white-space: nowrap;
}
.mt-wallet-ledger__balance strong {
	display: block;
	font-weight: 700;
	font-size: 0.86rem;
	color: var(--mt-ink);
}
.mt-wallet-ledger__balance-kind {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.68rem;
	color: var(--mt-text-muted);
}

@media (max-width: 640px) {
	.mt-wallet-ledger__table { font-size: 0.8rem; }
	.mt-wallet-ledger__table thead th,
	.mt-wallet-ledger__table tbody td { padding: 0.6rem 0.65rem; }
}

.mt-payout-history__row-date {
	flex: 0 0 auto;
	color: var(--mt-text-muted);
	font-size: 0.78rem;
	white-space: nowrap;
}

.mt-payout-history__pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
	margin-top: 1.1rem;
}
.mt-payout-history__pager:empty {
	margin-top: 0;
}

.mt-payout-history__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0.75rem 0;
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	overflow: hidden;
}

.mt-payout-history__facts > div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid var(--mt-line);
}

.mt-payout-history__facts dt {
	color: var(--mt-text-muted);
	font-size: 0.78rem;
}

.mt-payout-history__facts dd {
	margin: 0;
	font-weight: 700;
	font-size: 0.84rem;
	text-align: end;
}

@media (max-width: 640px) {
	.mt-payout-history__row {
		flex-wrap: wrap;
	}

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

/* Shared approval / staff-action trail */
.mt-approval-trail {
	margin: 0.85rem 0 1rem;
	padding: 0.85rem 1rem 1rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--mt-panel-2) 95%, transparent), color-mix(in srgb, var(--mt-panel-2) 55%, transparent));
}
.mt-approval-trail__head {
	margin-bottom: 0.75rem;
}
.mt-approval-trail__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--mt-ink);
}
.mt-approval-trail__lead {
	margin: 0.25rem 0 0;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--mt-text-muted);
}
.mt-approval-trail__empty {
	margin: 0;
	font-size: 0.82rem;
	color: var(--mt-text-muted);
}
.mt-approval-trail__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
	position: relative;
}
.mt-approval-trail__item {
	position: relative;
	display: grid;
	grid-template-columns: 1.1rem 1fr;
	gap: 0.65rem;
	padding: 0 0 0.85rem;
}
.mt-approval-trail__item:last-child {
	padding-bottom: 0;
}
.mt-approval-trail__item:not(:last-child)::before {
	content: "";
	position: absolute;
	inset-inline-start: 0.42rem;
	top: 1rem;
	bottom: 0;
	width: 2px;
	background: var(--mt-line);
}
.mt-approval-trail__dot {
	width: 0.85rem;
	height: 0.85rem;
	margin-top: 0.2rem;
	border-radius: 50%;
	border: 2px solid var(--mt-panel);
	box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
	background: var(--mt-text-muted);
	z-index: 1;
}
.mt-approval-trail__item.is-ok .mt-approval-trail__dot {
	background: var(--mt-success);
}
.mt-approval-trail__item.is-warn .mt-approval-trail__dot {
	background: var(--mt-warning);
}
.mt-approval-trail__item.is-err .mt-approval-trail__dot {
	background: var(--mt-danger);
}
.mt-approval-trail__item.is-info .mt-approval-trail__dot {
	background: var(--mt-info);
}
.mt-approval-trail__body {
	min-width: 0;
}
.mt-approval-trail__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
}
.mt-approval-trail__action {
	font-size: 0.86rem;
	font-weight: 700;
	color: var(--mt-ink);
}
.mt-approval-trail__time {
	font-size: 0.74rem;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
}
.mt-approval-trail__stage {
	display: inline-block;
	margin-top: 0.2rem;
	padding: 0.12rem 0.45rem;
	border-radius: 999px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--mt-text-muted);
	background: var(--mt-panel-2);
}
.mt-approval-trail__item.is-ok .mt-approval-trail__stage {
	color: var(--mt-success);
	background: var(--mt-success-bg, rgba(16, 185, 129, 0.14));
}
.mt-approval-trail__item.is-warn .mt-approval-trail__stage {
	color: var(--mt-warning);
	background: var(--mt-warning-bg);
}
.mt-approval-trail__item.is-err .mt-approval-trail__stage {
	color: var(--mt-danger);
	background: var(--mt-danger-bg);
}
.mt-approval-trail__item.is-info .mt-approval-trail__stage {
	color: var(--mt-info);
	background: var(--mt-info-bg);
}
.mt-approval-trail__actor {
	margin: 0.28rem 0 0;
	font-size: 0.76rem;
	color: var(--mt-text-muted);
}
.mt-approval-trail__note {
	margin: 0.35rem 0 0;
	padding: 0.45rem 0.6rem;
	border-radius: 0.45rem;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--mt-ink);
	background: color-mix(in srgb, var(--mt-panel) 85%, transparent);
	border: 1px solid var(--mt-line);
}
.mt-ops-project-card .mt-approval-trail,
.mt-app-approval .mt-approval-trail,
.mt-payout-card .mt-approval-trail,
.mt-ops-kyc-card .mt-approval-trail,
.mt-contract-panel .mt-approval-trail,
.mt-kyc .mt-approval-trail {
	margin-top: 0.75rem;
}

.mt-app .mt-bank-section .mt-bank-accounts__field {
	margin-bottom: 0 !important;
}
.mt-app .mt-bank-section .mt-bank-accounts input {
	margin-bottom: 0 !important;
}

.mt-ops-reputation__weights {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 0.65rem;
	margin: 0.5rem 0 1.25rem;
}
.mt-ops-reputation__weights label {
	display: grid;
	gap: 0.3rem;
	font-size: 0.82rem;
	font-weight: 600;
}
.mt-ops-reputation__form {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}
.mt-ops-reputation__badges {
	display: grid;
	gap: 0.65rem;
	margin-bottom: 1rem;
}
.mt-ops-badge-card {
	display: block;
	padding: 0;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
	overflow: hidden;
}
.mt-ops-badge-card__summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.7rem 0.85rem;
	user-select: none;
}
.mt-ops-badge-card__summary::-webkit-details-marker {
	display: none;
}
.mt-ops-badge-card__summary strong {
	font-size: 0.9rem;
}
.mt-ops-badge-card__summary em {
	margin-inline-start: auto;
	font-style: normal;
	font-size: 0.75rem;
}
.mt-ops-badge-card__fields {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.45rem 0.55rem;
	padding: 0.75rem 0.85rem 0.85rem;
	border-top: 1px solid var(--mt-line);
}
.mt-ops-badge-card__field {
	display: grid;
	gap: 0.25rem;
}
.mt-ops-badge-card__label {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}
.mt-ops-badge-card__wide {
	grid-column: 1 / -1;
}
.mt-ops-badge-card__check {
	display: inline-flex !important;
	align-items: center;
	gap: 0.35rem;
	align-self: end;
	margin: 0.35rem 0 0 !important;
	font-size: 0.82rem;
	font-weight: 600;
}
.mt-ops-badge-card__check input {
	width: auto !important;
	margin: 0 !important;
}
.mt-app .mt-ops-reputation .mt-ops-badge-card__fields input,
.mt-app .mt-ops-reputation .mt-ops-badge-card__fields select {
	margin-bottom: 0 !important;
}

/* Staff-manager existing-account row: an inline edit form laid out as three explicit rows —
   (1) نام نمایشی + نام کاربری, (2) ایمیل + تغییر رمز عبور, (3) all action buttons together.
   The three <form> tags with matching ids sit hidden above the fields; every input/button
   below points at its owning form via the `form="..."` attribute so they can be positioned
   freely without nesting forms inside each other. */
.mt-staff-manager__edit form[id^="mt-staffmgr-"] {
	display: none;
}
.mt-staff-manager__edit {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}
.mt-staff-manager__edit-row {
	display: flex;
	gap: 1rem;
}
.mt-staff-manager__edit-row .mt-staff-manager__field {
	flex: 1 1 0;
	min-width: 0;
	/* Label sits beside its input on one line here (نام نمایشی / تکست‌باکس), unlike the stacked
	   label-above-input layout the create-form above uses. */
	display: flex;
	align-items: center;
	gap: 0.6rem;
}
.mt-staff-manager__edit-row .mt-staff-manager__field label {
	margin: 0;
	/* Fixed width (not auto) so every label — regardless of its own text length — ends at the
	   same edge and every input in every row starts at that same edge; otherwise "نام کاربری" vs
	   "تغییر رمز عبور" (different lengths) throw their inputs out of alignment across rows. */
	flex: 0 0 6.5rem;
	white-space: nowrap;
}
.mt-staff-manager__edit-row .mt-staff-manager__field input {
	flex: 1 1 auto;
	min-width: 0;
}
.mt-staff-manager__edit-row--actions {
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 0.5rem;
}
@media (max-width: 560px) {
	.mt-staff-manager__edit-row {
		flex-direction: column;
		gap: 0.75rem;
	}
	.mt-staff-manager__edit-row .mt-staff-manager__field {
		flex-direction: column;
		align-items: stretch;
		gap: 0.35rem;
	}
}

/* "دپارتمان‌ها" — create form as clearly-labeled fields side by side (not a plain inline row
   of unlabeled inputs), plus a distinct code "chip" on each department card. Uses .mt-form
   for its real input styling (border/background/focus) — only the layout is custom here. */
.mt-ops-departments__create {
	margin-bottom: 1.25rem;
}

.mt-ops-departments__row {
	--mt-ops-dept-btn-w: 8.75rem;
	--mt-ops-dept-gap: 0.75rem;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	gap: var(--mt-ops-dept-gap);
	/* Reading order (RTL, right→left) must be: نام دپارتمان, نامک دپارتمان, دکمه — so the
	   button sits at the *end* of the row (the left side in RTL), and the reserved space for
	   its absolute positioning goes on that same end side, not the start. Tied by calc() to the
	   same two variables the button itself uses, so the gap before the button is guaranteed to
	   equal the row's own "gap" between the labeled fields — never drifts out of sync again. */
	padding-inline-end: calc(var(--mt-ops-dept-btn-w) + var(--mt-ops-dept-gap) - 1.15rem);
}

.mt-ops-departments__field--name {
	flex: 1 1 auto;
	min-width: 0;
}

.mt-ops-departments__field--code {
	flex: 0 0 8rem;
}

.mt-ops-departments__field {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.mt-ops-departments__field label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.76rem;
	font-weight: 600;
	color: var(--mt-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mt-ops-departments__field input {
	box-sizing: border-box;
	/* .mt-form's generic input rule adds margin-bottom: 1rem (16px) — this made the field's own
	   box 16px taller than its visible label+input, so the row (sized by the fields) ended up
	   16px taller than the inputs themselves, and the absolutely-positioned button — anchored to
	   the row's bottom — sat 16px below the inputs' actual bottom edge. That was the entire bug. */
	margin-bottom: 0 !important;
}

.mt-ops-departments__field--code input {
	text-transform: uppercase;
	font-family: monospace;
	letter-spacing: 0.05em;
	text-align: center;
}

/* Positioned absolutely against the row and pinned to its bottom edge (inset-block-end: 0) —
   this is not flex/grid alignment at all, so it cannot be thrown off by any cross-axis
   computation; the button's bottom is glued to the row's bottom by coordinate, full stop. */
.mt-ops-departments__save-btn {
	position: absolute !important;
	inset-inline-end: 0;
	inset-block-end: 0;
	width: var(--mt-ops-dept-btn-w, 8.75rem);
	max-width: var(--mt-ops-dept-btn-w, 8.75rem);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-inline: 0.5rem !important;
	font-size: 0.76rem !important;
}

@media (max-width: 640px) {
	.mt-ops-departments__row {
		flex-direction: column;
		align-items: stretch;
		padding-inline-end: 0;
		padding-top: 3rem;
	}

	.mt-ops-departments__field--code {
		flex-basis: auto;
	}

	.mt-ops-departments__save-btn {
		position: absolute !important;
		inset-inline-end: 0;
		inset-block-start: 0;
		inset-block-end: auto;
	}
}

.mt-ops-departments__list {
	display: grid;
	gap: 0.6rem;
}

/* Each department card's expanded body is two clearly separated concerns — editing the
   department itself, and assigning staff to it — each in its own labeled, padded section
   rather than one undifferentiated stack of form + chips. */
.mt-ops-departments__card-body {
	border-top: 1px solid var(--mt-line);
	background: var(--mt-panel);
}

.mt-ops-departments__section {
	padding: 0.9rem 0.95rem;
}

.mt-ops-departments__section + .mt-ops-departments__section {
	border-top: 1px solid color-mix(in srgb, var(--mt-line) 60%, transparent);
}

.mt-ops-departments__section-title {
	margin: 0 0 0.65rem;
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--mt-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* Smaller type throughout this page's cards/chips/fields — this is a dense admin list, not
   client-facing marketing copy. */
.mt-ops-departments__card .mt-ops-badge-card__summary strong {
	font-size: 0.85rem;
}

.mt-ops-departments__card .mt-ops-badge-card__summary em {
	font-size: 0.7rem;
}

.mt-ops-departments__field input {
	font-size: 0.82rem;
}

.mt-ops-departments__staff-chip {
	font-size: 0.76rem;
	padding: 0.35rem 0.7rem;
}

.mt-ops-departments__edit-form .mt-field-hint {
	margin-top: 0.5rem;
}

.mt-ops-departments__staff-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.mt-ops-departments__staff-form {
	display: contents;
}

.mt-ops-departments__staff-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.8rem;
	border: 1px solid var(--mt-line);
	border-radius: 999px;
	background: var(--mt-panel-2, var(--mt-panel));
	color: var(--mt-text-muted);
	font-size: 0.82rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.mt-ops-departments__staff-chip svg {
	flex-shrink: 0;
	color: currentColor;
}

.mt-ops-departments__staff-chip:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 45%, var(--mt-line));
	color: var(--mt-ink);
}

.mt-ops-departments__staff-chip.is-member {
	border-color: color-mix(in srgb, var(--mt-success) 45%, transparent);
	background: color-mix(in srgb, var(--mt-success) 14%, transparent);
	color: var(--mt-success);
}

.mt-ops-departments__staff-chip.is-member:hover {
	border-color: var(--mt-success);
}

.mt-ops-departments__code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.4rem;
	padding: 0.15rem 0.5rem;
	border-radius: 0.4rem;
	background: color-mix(in srgb, var(--mt-accent) 15%, transparent);
	color: var(--mt-accent);
	font-family: monospace;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.mt-kyc__notes pre,
.mt-ops-kyc-notes {
	white-space: pre-wrap;
	background: var(--mt-panel-2);
	padding: 0.75rem;
	border-radius: 0.45rem;
	font-size: 0.85rem;
}

.mt-ops-kyc-card {
	border: 1px solid var(--mt-line);
	border-radius: 0.65rem;
	padding: 1rem;
	margin: 1rem 0;
}

.mt-ops-kyc-card header {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	margin-bottom: 0.75rem;
}

.mt-ops-kyc-grid {
	display: grid;
	grid-template-columns: 10rem 1fr;
	gap: 0.35rem 0.75rem;
	margin: 0 0 0.75rem;
}

.mt-ops-kyc-grid dt {
	color: var(--mt-text-muted);
	font-size: 0.85rem;
}

.mt-ops-kyc-grid dd {
	margin: 0;
}

.mt-ops-kyc-actions__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.65rem;
}

.mt-ops-kyc-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.mt-ops-kyc-filters .is-active {
	border-color: var(--mt-accent);
	color: var(--mt-accent);
}

.mt-notice--warn {
	background: var(--mt-warning-bg);
	color: var(--mt-warning);
	padding: 0.65rem 0.85rem;
	border-radius: 0.45rem;
}

.mt-btn--danger,
a.mt-btn.mt-btn--danger,
button.mt-btn.mt-btn--danger {
	background: var(--mt-panel) !important;
	border: 1px solid var(--mt-danger) !important;
	color: var(--mt-danger) !important;
	box-shadow: none !important;
}

.mt-btn--danger:hover,
a.mt-btn.mt-btn--danger:hover,
button.mt-btn.mt-btn--danger:hover {
	background: var(--mt-danger-bg) !important;
	border-color: var(--mt-danger) !important;
	color: var(--mt-danger) !important;
}

@media (max-width: 960px) {
	.mt-ops-users__charts {
		grid-template-columns: 1fr;
	}
}

/* Finance reports (supplier earnings + platform) */
.mt-finance-report__head {
	margin-bottom: 1rem;
}
.mt-finance-report__head h2 {
	margin: 0 0 0.35rem;
	color: var(--mt-ink);
}
.mt-finance-report__head .mt-app-muted {
	margin: 0;
	max-width: 42rem;
	line-height: 1.55;
}

.mt-finance-kpis {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.65rem;
	margin: 0 0 1.15rem;
}

.mt-finance-kpis--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* 3-up / 2-up grids (used on ops-vat) — without these the cards fall back to the 5-column base
 * grid and sit flush-start with empty trailing columns, reading as pushed to one side. Sized
 * tracks + justify-content:center keep the row centered in the section whether it's 2 or 3 cards. */
.mt-finance-kpis--cols-3 {
	grid-template-columns: repeat(3, minmax(11rem, 18rem));
	justify-content: center;
}
.mt-finance-kpis--cols-2 {
	grid-template-columns: repeat(2, minmax(12rem, 20rem));
	justify-content: center;
}

/* Fewer, wider cards per row — for labels/amounts too long to fit the default 5-up grid without
 * wrapping onto a second line (e.g. "بخش مالی" KPIs: long Persian labels + large rial amounts). */
.mt-finance-kpis--wide {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mt-finance-kpis--wide .mt-finance-kpi {
	min-height: 6.4rem;
}
.mt-finance-kpis--wide .mt-finance-kpi__label {
	display: block;
}
.mt-finance-kpis--wide .mt-finance-kpi__value {
	font-size: 1.2rem;
}
/* Wide cards but exactly 4 per row (instead of --wide's default 3) — for sections with exactly
 * 4 long-label KPI cards, so the last row isn't left with empty trailing columns. */
.mt-finance-kpis--wide.mt-finance-kpis--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* "چک‌جمع" breakdown rows on بخش مالی: one row per accounting identity (A = B + C), rendered as
 * cards connected by literal +/= glyphs so a reader can visually add two numbers and compare them
 * against the third without leaving the page. Wraps to a stacked column on narrow screens, where
 * the operator glyphs rotate to read top-to-bottom instead of left-to-right. */
.mt-finance-checksum-row {
	display: flex;
	align-items: stretch;
	gap: 0.6rem;
	margin: 0 0 0.75rem;
}
.mt-finance-checksum-row .mt-finance-kpi {
	flex: 1 1 0;
	min-width: 0;
}
.mt-finance-checksum-row__op {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.8rem;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--mt-text-muted);
}
@media (max-width: 760px) {
	.mt-finance-checksum-row {
		flex-direction: column;
	}
	.mt-finance-checksum-row__op {
		width: auto;
		height: 1.6rem;
	}
}

.mt-finance-report__subhead {
	margin: 1.1rem 0 0.65rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}

.mt-ops-finance__table-total td {
	border-top: 2px solid var(--mt-line);
	background: var(--mt-panel-2);
}

.mt-finance-kpi {
	position: relative;
	display: grid;
	gap: 0.45rem;
	align-content: start;
	min-height: 5.4rem;
	padding: 0.75rem 0.8rem 0.8rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: linear-gradient(180deg, var(--mt-panel) 0%, var(--mt-panel-2) 100%);
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
	overflow: hidden;
}

.mt-finance-kpi::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	width: 3px;
	background: var(--mt-text-muted);
}

.mt-finance-kpi--link {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.mt-finance-kpi--link:hover {
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	transform: translateY(-1px);
}

/* KPI cards rendered as a <button> inside a <form> (download-on-click) instead of a plain
 * <article> — the form is a transparent grid cell wrapper so the button fills it exactly like
 * the non-clickable cards do. */
.mt-finance-kpi__form {
	display: block;
	margin: 0;
	min-width: 0;
}
button.mt-finance-kpi {
	width: 100%;
	font: inherit;
	text-align: inherit;
}
.mt-finance-kpi__xls {
	flex: 0 0 auto;
	vertical-align: -2px;
	margin-inline-start: 0.3rem;
}
.mt-finance-kpi__hint {
	margin: -0.5rem 0 1.15rem;
	text-align: center;
	font-size: 0.78rem;
}

.mt-finance-kpi.is-contract::before { background: var(--mt-accent); }
.mt-finance-kpi.is-received::before,
.mt-finance-kpi.is-profit::before { background: var(--mt-success); }
.mt-finance-kpi.is-receivable::before,
.mt-finance-kpi.is-volume::before { background: var(--mt-info); }
.mt-finance-kpi.is-remaining::before { background: var(--mt-warning); }
.mt-finance-kpi.is-count::before { background: var(--mt-text-muted); }
.mt-finance-kpi.is-danger::before { background: var(--mt-danger); }

/* Every KPI card centers its label/value/unit by default (label text-align, amount row
 * justify-content) — was opt-in via .mt-finance-kpis--center before, but every KPI grid on the
 * platform wants this, so it's now the base behavior; the modifier class is kept as a harmless
 * no-op wherever it's still present in markup. */
.mt-finance-kpi__label {
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--mt-text-muted);
	text-align: center;
	width: 100%;
}

.mt-finance-kpi__amount {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.28rem 0.35rem;
	min-width: 0;
	width: 100%;
}

.mt-finance-kpi__value {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
	word-break: break-word;
}

.mt-finance-kpi__unit {
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 500;
	color: var(--mt-text-muted);
}

.mt-finance-kpi.is-count .mt-finance-kpi__value {
	font-size: 1.35rem;
}

.mt-finance-report__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem 1rem;
	margin: 0 0 0.85rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.55rem;
	background: var(--mt-panel-2);
}

.mt-finance-report__toolbar-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--mt-ink);
}

.mt-finance-report__cumulative-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--mt-steel);
	cursor: pointer;
	user-select: none;
}

.mt-finance-report__cumulative-toggle input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	accent-color: var(--mt-accent);
	cursor: pointer;
}

.mt-finance-period-tabs {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.3rem;
	padding: 0.2rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ink) 5%, transparent);
}

.mt-finance-period-tabs__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.85rem;
	padding: 0.25rem 0.8rem;
	border-radius: 999px;
	border: 0;
	background: transparent;
	color: var(--mt-steel);
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.2;
}

.mt-finance-period-tabs__btn:hover {
	color: var(--mt-ink);
	background: color-mix(in srgb, var(--mt-panel) 70%, transparent);
}

.mt-finance-period-tabs__btn.is-active {
	background: var(--mt-accent);
	color: var(--mt-on-accent);
	box-shadow: 0 1px 2px rgba(14, 116, 144, 0.25);
}

.mt-finance-report__empty {
	margin: 0.5rem 0 0;
	padding: 1.1rem 1rem;
	border: 1px dashed var(--mt-line);
	border-radius: 0.55rem;
	text-align: center;
	color: var(--mt-text-muted);
	font-size: 0.88rem;
}

.mt-finance-bars {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.7rem;
}

.mt-finance-bars > li {
	padding: 0.7rem 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.5rem;
	background: var(--mt-panel);
}

.mt-finance-bars__meta {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem 1rem;
	flex-wrap: wrap;
	margin-bottom: 0.45rem;
	font-size: 0.86rem;
}

.mt-finance-bars__meta > strong {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--mt-ink);
}

.mt-finance-bars__meta > span {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.55rem;
	color: var(--mt-text-muted);
	font-size: 0.8rem;
}

.mt-finance-bars__amount {
	font-weight: 600;
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
}

.mt-finance-bars__count {
	opacity: 0.85;
}

.mt-finance-bars__track {
	display: block;
	height: 8px;
	border-radius: 999px;
	background: var(--mt-panel-2);
	overflow: hidden;
}

.mt-finance-bars__track > i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #0f766e, #14b8a6); /* intentionally fixed: progress-bar brand gradient */
}

.mt-finance-bars__track--sm {
	height: 6px;
	margin: 0.2rem 0;
	min-width: 80px;
}

.mt-finance-bars__track > i.is-volume {
	background: linear-gradient(90deg, #1d4ed8, #3b82f6);
}

.mt-finance-bars__track > i.is-profit {
	background: linear-gradient(90deg, #0f766e, #14b8a6);
}

.mt-finance-bars__cell {
	min-width: 110px;
}

.mt-finance-report__table-wrap {
	overflow-x: auto;
	margin-top: 0.25rem;
}

.mt-finance-legend {
	display: flex;
	gap: 1.25rem;
	margin-top: 0.75rem;
}

.mt-finance-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.82rem;
}

.mt-finance-legend__item > i {
	display: inline-block;
	width: 0.85rem;
	height: 0.35rem;
	border-radius: 999px;
}

.mt-finance-legend__item > i.is-volume {
	background: #3b82f6;
}

.mt-finance-legend__item > i.is-profit {
	background: #14b8a6;
}

@media (max-width: 1100px) {
	.mt-finance-kpis {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.mt-finance-kpis--cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.mt-finance-kpis,
	.mt-finance-kpis--cols-3,
	.mt-finance-kpis--cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mt-finance-kpi__value {
		font-size: 0.95rem;
	}

	.mt-finance-report__toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.mt-finance-period-tabs {
		width: 100%;
		justify-content: stretch;
	}

	.mt-finance-period-tabs__btn {
		flex: 1 1 auto;
	}
}

@media (max-width: 480px) {
	.mt-finance-kpis {
		grid-template-columns: 1fr;
	}
}

.mt-btn--outline.is-active {
	border-color: currentColor;
	background: color-mix(in srgb, var(--mt-ink) 6%, transparent);
}

/* Need-pick cards: 3 equal columns */
.mt-need-pick[data-need-pick] {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0.65rem;
	width: 100%;
	box-sizing: border-box;
}
.mt-need-pick__card {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 0 !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: center !important;
	margin: 0 !important;
	width: 0 !important;
	min-width: 0 !important;
	box-sizing: border-box;
}
.mt-need-pick__desc {
	width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}
@media (max-width: 640px) {
	.mt-need-pick[data-need-pick] {
		flex-wrap: wrap !important;
	}
	.mt-need-pick__card {
		flex: 1 1 100% !important;
		width: 100% !important;
	}
}

/* ?? Final button text centering (wins over fragment rules) ?? */
.mt-btn,
a.mt-btn,
button.mt-btn,
.mt-app .mt-btn,
.mt-app a.mt-btn,
.mt-app button.mt-btn,
.mt-app input[type="submit"].mt-btn,
.mt-app input[type="button"].mt-btn,
.mt-app .mt-form-actions > button[type="submit"],
.mt-app .mt-form input[type="submit"],
.mt-form-actions > button[type="submit"],
.mt-form input[type="submit"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	padding-block: 0 !important;
}

.mt-btn > *,
.mt-app .mt-btn > * {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	transform: none !important;
	color: inherit !important;
}

/* Danger / outline must beat base white text on button.mt-btn */
.mt-app button.mt-btn.mt-btn--danger,
.mt-app a.mt-btn.mt-btn--danger,
button.mt-btn.mt-btn--danger,
a.mt-btn.mt-btn--danger {
	color: var(--mt-danger) !important;
	-webkit-text-fill-color: var(--mt-danger) !important;
	background: var(--mt-panel) !important;
	border-color: var(--mt-danger) !important;
}

.mt-app button.mt-btn.mt-btn--outline,
.mt-app a.mt-btn.mt-btn--outline,
button.mt-btn.mt-btn--outline,
a.mt-btn.mt-btn--outline {
	color: var(--mt-btn-bg, var(--mt-accent)) !important;
	-webkit-text-fill-color: var(--mt-btn-bg, var(--mt-accent)) !important;
	background: var(--mt-panel) !important;
}

/* ?? Login stage (full /login/ page) ?? */
.mt-login--stage {
	width: min(1080px, calc(100% - 2rem));
	margin: clamp(1.5rem, 4vw, 3rem) auto clamp(2.5rem, 6vw, 4.5rem);
}

.mt-login__stage {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	min-height: min(34rem, 78vh);
	overflow: hidden;
	border: 1px solid var(--mt-line);
	background:
		radial-gradient(ellipse 90% 90% at 15% 15%, rgba(14, 116, 144, 0.34), transparent 65%),
		radial-gradient(ellipse 75% 70% at 90% 90%, rgba(15, 118, 110, 0.24), transparent 62%),
		linear-gradient(155deg, #071018 0%, #0c1822 48%, #102a33 100%);
	box-shadow: 0 18px 48px rgba(10, 23, 32, 0.08);
}

.mt-login__visual {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.85rem;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	color: #e8eef3;
	background: transparent;
	isolation: isolate;
}

.mt-login__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0.22;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.04) 0 1px,
			transparent 1px 10px
		);
}

.mt-login__visual > * {
	position: relative;
	z-index: 1;
}

.mt-login__brand {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	max-width: 22rem;
	width: 100%;
	line-height: 0;
	margin-bottom: 0.35rem;
}

.mt-login__brand img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 6.4rem;
	object-fit: contain;
	object-position: center;
	/* logo assets ship on black plates ? blend into the dark rail */
	mix-blend-mode: lighten;
	filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.35));
}

.mt-login__eyebrow {
	align-self: center;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(125, 211, 232, 0.92);
	text-align: center;
}

.mt-login__visual-title {
	margin: 0;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: #f4f8fb;
	text-wrap: balance;
}

.mt-login__visual-lead {
	margin: 0;
	max-width: none;
	white-space: nowrap;
	font-size: 0.95rem;
	line-height: 1.75;
	color: rgba(214, 226, 234, 0.86);
}

.mt-login__points {
	list-style: none;
	margin: 0.6rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
}

.mt-login__points li {
	position: relative;
	padding-inline-start: 1.15rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(200, 220, 230, 0.9);
}

.mt-login__points li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.55em;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 1px;
	background: #22a6c5;
	box-shadow: 0 0 0 3px rgba(34, 166, 197, 0.18);
}

.mt-login__panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.75rem, 4vw, 2.75rem);
	background: transparent;
}

.mt-login__panel-head {
	margin-bottom: 1.25rem;
	text-align: center;
}

.mt-login__panel-kicker {
	margin: 0 0 0.35rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: #7dd3e8;
}

.mt-login__panel-title {
	margin: 0 0 0.4rem;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #f4f8fb;
}

.mt-login__panel-lead {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.65;
	color: rgba(214, 226, 234, 0.86);
}

.mt-login__form label {
	display: block;
	margin: 0.85rem 0 0.35rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: rgba(214, 226, 234, 0.86);
}

.mt-login__form label:first-of-type {
	margin-top: 0;
}

.mt-login__form {
	background: transparent;
	border: 0;
	padding: 0;
}

.mt-login__form input[type="text"],
.mt-login__form input[type="password"] {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: transparent;
	font: inherit;
	font-size: 0.95rem;
	color: #f4f8fb;
	transition: border-color 0.2s var(--mt-ease), box-shadow 0.2s var(--mt-ease), background-color 0.2s var(--mt-ease);
}

.mt-login__form input[type="text"]:focus,
.mt-login__form input[type="password"]:focus {
	outline: none;
	border-color: color-mix(in srgb, var(--mt-accent) 55%, transparent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent) 14%, transparent);
}

.mt-login__form input[type="text"]::placeholder,
.mt-login__form input[type="password"]::placeholder {
	color: rgba(214, 226, 234, 0.45);
}

.mt-login__submit {
	width: 100%;
	margin-top: 1.25rem;
	min-height: 2.85rem;
	font-size: 0.95rem;
}

.mt-login__switch {
	margin: 1.15rem 0 0;
	text-align: center;
	font-size: 0.9rem;
	color: rgba(214, 226, 234, 0.86);
}

.mt-login__switch a {
	color: #7dd3e8;
	font-weight: 600;
	text-decoration: none;
}

.mt-login__switch a:hover {
	text-decoration: underline;
}

.mt-login--stage .mt-register__error {
	margin: 0 0 1rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--mt-danger-border);
	background: var(--mt-danger-bg);
	color: var(--mt-danger);
	font-size: 0.9rem;
}

@media (max-width: 860px) {
	.mt-login__stage {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.mt-login__visual {
		padding-block: 1.5rem;
		min-height: 0;
	}

	.mt-login__visual-lead,
	.mt-login__points {
		display: none;
	}

	.mt-login__brand {
		max-width: 11.5rem;
	}
}

@media (max-width: 560px) {
	.mt-login--stage {
		width: calc(100% - 1rem);
		margin-block: 1rem 2rem;
	}

	.mt-login__panel,
	.mt-login__visual {
		padding: 1.25rem;
	}
}

/* ==========================================================================
   Project roadmap ? winding-path stepper (client / contractor / ops view)
   ========================================================================== */
.mt-roadmap {
	margin: 1.1rem 0 1.4rem;
	padding: 1.15rem 1.25rem 1.35rem;
	border: 1px solid var(--mt-line);
	border-radius: 1rem;
	background: var(--mt-panel-2);
}

.mt-roadmap__scroll {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 0.35rem;
	scrollbar-width: thin;
}

.mt-roadmap__halt-note {
	margin: 0 0 1rem;
	padding: 0.55rem 0.85rem;
	border-radius: 0.6rem;
	background: var(--mt-danger-bg);
	border: 1px solid var(--mt-danger-border);
	color: var(--mt-danger);
	font-size: 0.85rem;
	font-weight: 600;
}

.mt-roadmap__path {
	--mt-roadmap-dot: 2.1rem;
	margin: 0;
	padding: 0.85rem 0.25rem 1.1rem;
	list-style: none;
	display: flex;
	align-items: flex-start;
	gap: 0;
	min-width: min-content;
	width: max-content;
	max-width: none;
}

.mt-roadmap__stage {
	position: relative;
	flex: 0 0 auto;
	width: 7.5rem;
	min-width: 7.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-inline: 0.35rem;
	/* alternate the marker row up/down to read as a winding path */
	transform: translateY(calc((var(--mt-roadmap-i, 0) % 2) * 0.65rem));
}

.mt-roadmap--dense .mt-roadmap__stage {
	width: 6.6rem;
	min-width: 6.6rem;
}

.mt-roadmap__stage--milestone {
	width: 8.2rem;
	min-width: 8.2rem;
}

.mt-roadmap--dense .mt-roadmap__stage--milestone {
	width: 7.4rem;
	min-width: 7.4rem;
}

.mt-roadmap__stage::before {
	content: "";
	position: absolute;
	top: calc(var(--mt-roadmap-dot) / 2);
	inset-inline-start: calc(-50% + var(--mt-roadmap-dot) / 2);
	width: calc(100% - var(--mt-roadmap-dot));
	height: 3px;
	background: var(--mt-line);
	border-radius: 2px;
	z-index: 0;
	transform: translateY(calc((var(--mt-roadmap-i, 0) % 2) * -0.65rem * 0.5));
}

.mt-roadmap__stage:first-child::before {
	content: none;
}

.mt-roadmap__stage--done::before {
	background: var(--mt-success);
}

.mt-roadmap__marker {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--mt-roadmap-dot);
	height: var(--mt-roadmap-dot);
	border-radius: 50%;
	background: var(--mt-panel);
	border: 3px solid var(--mt-line);
	color: var(--mt-on-accent);
	flex-shrink: 0;
}

.mt-roadmap__stage--done .mt-roadmap__marker {
	background: var(--mt-success);
	border-color: var(--mt-success);
}

.mt-roadmap__stage--current .mt-roadmap__marker {
	border-color: var(--mt-accent);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--mt-accent) 18%, transparent);
}

.mt-roadmap__stage--milestone .mt-roadmap__marker {
	border-radius: 0.55rem;
}

.mt-roadmap__pulse {
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	background: var(--mt-accent);
	animation: mt-roadmap-pulse 1.8s ease-in-out infinite;
}

@keyframes mt-roadmap-pulse {
	0%, 100% { transform: scale(0.85); opacity: 1; }
	50% { transform: scale(1.15); opacity: 0.7; }
}

.mt-roadmap__label {
	margin-top: 0.55rem;
	font-size: 0.74rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--mt-text-muted);
	max-width: 100%;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.mt-roadmap__stage--done .mt-roadmap__label {
	color: var(--mt-ink);
}

.mt-roadmap__stage--current .mt-roadmap__label {
	color: var(--mt-accent);
}

.mt-roadmap__label em {
	display: block;
	margin-top: 0.15rem;
	font-style: normal;
	font-size: 0.68rem;
	font-weight: 700;
	color: var(--mt-accent);
}

.mt-roadmap--halted .mt-roadmap__stage--current .mt-roadmap__marker,
.mt-roadmap--halted .mt-roadmap__pulse {
	display: none;
}

@media (max-width: 640px) {
	.mt-roadmap {
		padding: 1.1rem 0.9rem 1.3rem;
	}
	.mt-roadmap__scroll {
		overflow: visible;
	}
	.mt-roadmap__path {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		min-width: 0;
		padding-bottom: 0.25rem;
	}
	.mt-roadmap__stage,
	.mt-roadmap--dense .mt-roadmap__stage,
	.mt-roadmap__stage--milestone,
	.mt-roadmap--dense .mt-roadmap__stage--milestone {
		flex-direction: row;
		align-items: center;
		text-align: start;
		width: auto;
		min-width: 0;
		padding-block: 0.55rem;
		transform: none;
	}
	.mt-roadmap__stage::before {
		top: calc(-1 * (100% - var(--mt-roadmap-dot)));
		inset-inline-start: calc(var(--mt-roadmap-dot) / 2 - 1.5px);
		width: 3px;
		height: calc(100% - var(--mt-roadmap-dot) / 2);
		transform: none;
	}
	.mt-roadmap__label {
		margin-top: 0;
		margin-inline-start: 0.85rem;
		font-size: 0.8rem;
	}
}

/* Proposal counts board (workspace) */
.mt-proposal-board {
	display: grid;
	gap: 1rem;
}

.mt-proposal-board__counts {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.65rem;
}

.mt-proposal-board__counts--compact {
	margin: 0.75rem 0 1rem;
}

.mt-proposal-board__count {
	display: grid;
	gap: 0.15rem;
	min-width: 8.5rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid color-mix(in srgb, var(--mt-accent) 22%, var(--mt-line));
	border-radius: 0.7rem;
	background: color-mix(in srgb, var(--mt-accent) 6%, var(--mt-panel));
	justify-items: center;
	text-align: center;
}

.mt-proposal-board__count strong {
	font-size: 1.35rem;
	line-height: 1.1;
	color: var(--mt-accent);
}

.mt-proposal-board__count span {
	font-size: 0.78rem;
	color: var(--mt-text-muted);
	line-height: 1.35;
}

.mt-proposal-board__count--total {
	background: var(--mt-panel);
	border-color: var(--mt-line);
}

.mt-proposal-board__count--total strong {
	color: var(--mt-ink);
}

.mt-proposal-board__privacy {
	margin: 0;
}

.mt-proposal-board__accept {
	display: inline-flex;
	margin: 0;
}

.mt-proposal-board__table tr.is-mine td {
	background: color-mix(in srgb, var(--mt-accent) 6%, transparent);
}

.mt-proposal-board__body-row td {
	font-size: 0.86rem;
	color: var(--mt-text-muted);
	padding-top: 0.35rem;
	padding-bottom: 0.85rem;
	border-top: 0;
}

.mt-proposal-board__body-owner {
	margin: 0 0 0.5rem;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--mt-accent);
	text-transform: uppercase;
}

.mt-proposal-stages {
	margin-top: 0.5rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.7rem;
	background: var(--mt-panel-2, color-mix(in srgb, var(--mt-accent) 4%, var(--mt-panel)));
}

.mt-proposal-stages__title {
	margin: 0 0 0.5rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--mt-ink);
}

.mt-proposal-stages__list {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mt-proposal-stages__item {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
}

.mt-proposal-stages__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--mt-accent);
	background: color-mix(in srgb, var(--mt-accent) 14%, transparent);
}

.mt-proposal-stages__body {
	display: grid;
	gap: 0.15rem;
	flex: 1 1 auto;
	min-width: 0;
}

.mt-proposal-stages__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	color: var(--mt-ink);
	font-size: 0.85rem;
}

.mt-proposal-stages__pct {
	flex: 0 0 auto;
	font-weight: 600;
	color: var(--mt-accent);
}

.mt-proposal-stages__docs {
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}

.mt-proposal-edit {
	margin-top: 0.75rem;
	padding-top: 0.7rem;
	border-top: 1px solid var(--mt-line);
	color: var(--mt-ink);
}

.mt-proposal-edit > summary {
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding: 0 0.8rem 0.16em;
	border: 1px solid color-mix(in srgb, var(--mt-accent) 42%, transparent);
	border-radius: 0.5rem;
	color: var(--mt-accent);
	background: var(--mt-panel);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.mt-proposal-edit > summary::-webkit-details-marker {
	display: none;
}

.mt-proposal-edit__form {
	margin-top: 0.8rem;
	width: 100%;
}

.mt-check-row {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.55rem;
	min-height: 2.4rem;
	margin-top: 0.55rem;
	font-weight: 600;
	cursor: pointer;
}

.mt-check-row input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
	max-width: 1.1rem;
	margin: 0;
	padding: 0;
	flex: 0 0 auto;
}

.mt-public-profile-main {
	padding: 0;
}

/* ============ Public profile v2 (.mt-pp) ============ */

.mt-pp {
	width: 100%;
	color: var(--mt-ink);
}

.mt-pp__hero {
	position: relative;
	overflow: hidden;
	border-radius: 1.25rem;
	padding-block: clamp(2.75rem, 6vw, 4.25rem) 0;
	background:
		radial-gradient(900px 460px at 15% -15%, color-mix(in srgb, var(--mt-accent) 20%, transparent), transparent 60%),
		radial-gradient(760px 420px at 92% 5%, color-mix(in srgb, var(--mt-signal) 12%, transparent), transparent 58%),
		linear-gradient(180deg, #060a12, #0b1220 55%, #0e1728);
}

.mt-pp__hero.has-cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--mt-pp-cover) center / cover no-repeat;
	opacity: 0.28;
	filter: saturate(1.1);
}

.mt-pp__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(148, 197, 219, 0.08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 197, 219, 0.08) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: radial-gradient(900px 520px at 20% 10%, #000 0%, transparent 78%);
	pointer-events: none;
}

.mt-pp__hero-inner {
	position: relative;
	width: min(1180px, calc(100% - 2.5rem));
	margin-inline: auto;
	display: flex;
	align-items: flex-start;
	gap: 1.75rem;
	flex-wrap: wrap;
	padding-top: 0;
	padding-bottom: 2.25rem;
}

.mt-pp__brand {
	position: absolute;
	inset-inline-end: max(3.75rem, calc((100% - 1180px) / 2 + 3.75rem));
	inset-block-start: 3.9rem;
	height: 120px;
	width: auto;
	opacity: 0.92;
	pointer-events: none;
}

.mt-pp__avatar-wrap {
	position: relative;
	flex-shrink: 0;
}

.mt-pp__avatar {
	display: block;
	width: 128px;
	height: 128px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--mt-panel-2);
	border: 4px solid rgba(255, 255, 255, 0.14);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.mt-pp__verified-dot {
	position: absolute;
	inset-block-end: 2px;
	inset-inline-end: 2px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #0f766e;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid #0b1220;
}

.mt-pp__identity {
	flex: 1 1 260px;
	min-width: 0;
}

.mt-pp__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--mt-accent) 70%, #fff 30%);
}

.mt-pp__name-row {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.6rem;
}

.mt-pp__name {
	margin: 0;
	font-family: "Rajdhani", "Vazirmatn", sans-serif;
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	font-weight: 700;
	color: #f8fafc;
}

.mt-pp__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #f8fafc;
	transition: background var(--mt-ease), transform var(--mt-ease), border-color var(--mt-ease);
}

.mt-pp__icon-btn:hover {
	background: var(--mt-accent);
	border-color: var(--mt-accent);
	transform: translateY(-2px);
}

.mt-pp__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 0.6rem;
}

.mt-pp__badges .mt-badge {
	border-radius: 999px;
	padding-inline: 0.75rem;
}

.mt-pp__location {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0;
	font-size: 0.85rem;
	color: rgba(226, 236, 245, 0.7);
}

.mt-pp__stats-wrap {
	position: relative;
	z-index: 2;
	width: min(1180px, calc(100% - 2.5rem));
	margin-inline: auto;
	margin-block-start: -1.75rem;
}

.mt-pp__stats {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	background: var(--mt-glass-bg-strong);
	border: 1px solid var(--mt-glass-border);
	border-radius: 1.25rem;
	box-shadow: var(--mt-glass-shadow), 0 20px 50px -12px rgba(11, 18, 32, 0.28);
	backdrop-filter: var(--mt-glass-blur);
	-webkit-backdrop-filter: var(--mt-glass-blur);
}

.mt-pp__stats::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, var(--mt-glass-highlight) 0%, transparent 55%);
	opacity: 0.7;
	pointer-events: none;
}

.mt-pp__stat {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	padding: 1.15rem 0.5rem;
	text-align: center;
	border-inline-start: 1px solid var(--mt-glass-border);
}

.mt-pp__stat:first-child {
	border-inline-start: 0;
}

.mt-pp__stat strong {
	font-family: "Rajdhani", "Vazirmatn", sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--mt-ink);
	line-height: 1;
}

.mt-pp__stat strong small {
	font-size: 1.3rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}

.mt-pp__stat span {
	display: block;
	font-size: 0.76rem;
	color: var(--mt-text-muted);
}

.mt-pp__layout {
	width: min(1180px, calc(100% - 2.5rem));
	margin-inline: auto;
	padding-top: 2.25rem;
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 1.75rem;
	align-items: start;
}

.mt-pp__side {
	position: sticky;
	top: calc(var(--mt-header-h) + 1.5rem);
	display: grid;
	gap: 1.75rem;
}

.mt-pp__card {
	position: relative;
	background: var(--mt-glass-bg-strong);
	border: 1px solid var(--mt-glass-border);
	border-radius: 1.25rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: var(--mt-glass-shadow);
	backdrop-filter: var(--mt-glass-blur);
	-webkit-backdrop-filter: var(--mt-glass-blur);
}

.mt-pp__card::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, var(--mt-glass-highlight) 0%, transparent 45%);
	opacity: 0.5;
	pointer-events: none;
}

.mt-pp__card > * {
	position: relative;
}

.mt-pp__card + .mt-pp__card {
	margin-top: 1.75rem;
}

.mt-pp__card > h2 {
	margin: 0 0 1.1rem;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--mt-ink);
}

.mt-pp__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.1rem;
}

.mt-pp__card-head > h2 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--mt-ink);
}

.mt-pp__more-link,
.mt-pp__count-pill {
	font-size: 0.8rem;
	font-weight: 700;
	white-space: nowrap;
}

.mt-pp__more-link {
	color: var(--mt-accent-deep);
	text-decoration: none;
}

.mt-pp__more-link:hover {
	text-decoration: underline;
}

.mt-pp__count-pill {
	color: var(--mt-accent-deep);
	background: color-mix(in srgb, var(--mt-accent) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--mt-accent) 28%, transparent);
	border-radius: 999px;
	padding: 0.3rem 0.85rem;
}

.mt-pp__bio {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.9;
	color: var(--mt-text-muted);
}

/* .mt-app-muted itself sets no font-size (it's a shared color-only utility used across many
   unrelated pages), so inside a profile card it was inheriting the card's larger base size instead
   of matching this page's own 0.9rem body-text scale (.mt-pp__bio above) — scoped to .mt-pp__card
   only, not a global .mt-app-muted change. */
.mt-pp__card .mt-app-muted {
	font-size: 0.9rem;
}

.mt-pp__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0.85rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.mt-pp__fact {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	background: color-mix(in srgb, var(--mt-panel) 55%, transparent);
	border: 1px solid var(--mt-line);
	border-radius: 0.85rem;
	padding: 0.85rem 0.95rem;
}

.mt-pp__fact-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 0.55rem;
	background: color-mix(in srgb, var(--mt-accent) 14%, transparent);
	color: var(--mt-accent-deep);
}

.mt-pp__fact-icon svg {
	width: 14px;
	height: 14px;
}

.mt-pp__fact-body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.mt-pp__fact dt {
	margin: 0;
	font-size: 0.72rem;
	color: var(--mt-text-muted);
}

.mt-pp__fact dd {
	margin: 0;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--mt-ink);
	line-height: 1.4;
}

.mt-pp__subhead {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 1.5rem 0 0.6rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mt-ink);
}

.mt-pp__subhead:first-child {
	margin-top: 0;
}

.mt-pp__subhead svg {
	color: var(--mt-accent-deep);
	flex-shrink: 0;
}

.mt-pp__list {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mt-pp__list li {
	position: relative;
	padding-inline-start: 1.1rem;
	font-size: 0.9rem;
	line-height: 1.8;
	color: var(--mt-text-muted);
}

.mt-pp__list li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--mt-accent);
}

/* Portfolio grid */
.mt-pp__portfolio {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1rem;
}

.mt-pp__portfolio-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--mt-line);
	border-radius: 1rem;
	background: var(--mt-panel);
	color: inherit;
	text-decoration: none;
	transition: transform 0.25s var(--mt-ease), box-shadow 0.25s var(--mt-ease), border-color 0.25s var(--mt-ease);
}

.mt-pp__portfolio-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 32px rgba(11, 18, 32, 0.12);
	border-color: color-mix(in srgb, var(--mt-accent) 32%, transparent);
}

.mt-pp__portfolio-media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mt-panel-2);
}

.mt-pp__portfolio-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s var(--mt-ease);
}

.mt-pp__portfolio-card:hover .mt-pp__portfolio-media img {
	transform: scale(1.06);
}

.mt-pp__portfolio-blank {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--mt-text-muted);
	opacity: 0.4;
}

.mt-pp__portfolio-badge {
	position: absolute;
	z-index: 1;
	inset-block-start: 0.6rem;
	inset-inline-start: 0.6rem;
	background: rgba(10, 16, 24, 0.68); /* intentionally fixed: overlay badge on image media */
	backdrop-filter: blur(6px);
	color: var(--mt-white);
	font-size: 0.68rem;
	font-weight: 700;
	padding: 0.28rem 0.6rem;
	border-radius: 999px;
}

.mt-pp__portfolio-title {
	padding: 0.75rem 0.9rem;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.6;
}

/* Completed-project timeline */
.mt-pp__timeline {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.mt-pp__timeline::before {
	content: "";
	position: absolute;
	inset-inline-start: 5px;
	inset-block: 0.35rem;
	width: 2px;
	background: var(--mt-line);
}

.mt-pp__timeline-item {
	position: relative;
	display: flex;
	gap: 1rem;
	padding-inline-start: 1.75rem;
	padding-block: 0.85rem;
}

.mt-pp__timeline-item:first-child {
	padding-top: 0;
}

.mt-pp__timeline-item:not(:last-child) {
	border-bottom: 1px solid var(--mt-line);
}

.mt-pp__timeline-dot {
	position: absolute;
	inset-inline-start: 0;
	top: 1.25rem;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--mt-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-accent) 20%, transparent);
}

.mt-pp__timeline-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.4rem;
}

.mt-pp__timeline-head {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.mt-pp__timeline-head h3 {
	margin: 0;
	color: var(--mt-ink);
	font-size: 0.98rem;
	font-weight: 700;
}

.mt-pp__timeline-head h3 a {
	color: inherit;
	text-decoration: none;
}

.mt-pp__timeline-head h3 a:hover {
	color: var(--mt-accent-deep);
}

.mt-pp__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--mt-signal);
	white-space: nowrap;
}

.mt-pp__rating--none {
	color: var(--mt-text-muted);
	font-weight: 500;
}

/* Trophies card */
.mt-pp__card--trophies .mt-icon-badges {
	justify-content: flex-start;
}

/* QR share card */
.mt-pp__card--qr {
	text-align: center;
}

.mt-pp__qr-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 0.85rem;
}

.mt-pp__qr-img {
	width: 140px;
	height: 140px;
	border-radius: 0.75rem;
	background: #fff; /* intentionally fixed: QR code needs light background for scannability */
	padding: 0.6rem;
	border: 1px solid var(--mt-line);
}

.mt-pp__qr-hint {
	margin: 0 0 1rem;
	font-size: 0.8rem;
	line-height: 1.7;
	color: var(--mt-text-muted);
}

.mt-pp__qr-share {
	width: 100%;
	justify-content: center;
}

.mt-pp__share-row {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--mt-line);
}

.mt-pp__share-label {
	margin: 0 0 0.6rem;
	color: var(--mt-muted);
	font-size: 0.78rem;
	font-weight: 600;
}

.mt-pp__share-icons {
	display: grid;
	grid-template-columns: repeat(3, 2.4rem);
	justify-content: center;
	gap: 0.5rem;
}

.mt-pp__share-icon {
	display: grid;
	width: 2.4rem;
	height: 2.4rem;
	border: 1px solid var(--mt-line);
	border-radius: 50%;
	background: var(--mt-panel);
	color: var(--mt-muted);
	place-items: center;
	transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.mt-pp__share-icon:hover {
	transform: translateY(-2px);
}

.mt-pp__share-icon--instagram:hover {
	color: #fff;
	border-color: transparent;
	background: linear-gradient(135deg, #f9ce34, #ee2a7b, #6228d7);
}

.mt-pp__share-icon--x:hover {
	color: #fff;
	border-color: #000;
	background: #000;
}

.mt-pp__share-icon--facebook:hover {
	color: #fff;
	border-color: #1877f2;
	background: #1877f2;
}

.mt-pp__share-icon--whatsapp:hover {
	color: #fff;
	border-color: #25d366;
	background: #25d366;
}

.mt-pp__share-icon--telegram:hover {
	color: #fff;
	border-color: #26a5e4;
	background: #26a5e4;
}

.mt-pp__share-icon--email:hover {
	color: #fff;
	border-color: var(--mt-ink);
	background: var(--mt-ink);
}

/* Skills/capabilities as tag groups */
.mt-pp__cap-list {
	display: grid;
	gap: 1.1rem;
}

.mt-pp__cap-group h3 {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mt-text-muted);
}

.mt-pp__cap-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.mt-pp__cap-tag {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mt-ink);
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
	border-radius: 999px;
	padding: 0.3rem 0.75rem;
}

@media (max-width: 900px) {
	.mt-pp__layout {
		grid-template-columns: 1fr;
	}
	.mt-pp__side {
		position: static;
		order: -1;
	}
}

@media (max-width: 760px) {
	.mt-pp__brand {
		display: none;
	}
	.mt-pp__hero-inner {
		flex-direction: column;
		text-align: center;
	}
	.mt-pp__badges,
	.mt-pp__location {
		justify-content: center;
	}
	.mt-pp__stats-wrap {
		margin-block-start: -1.25rem;
	}
	.mt-pp__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.mt-pp__stat:nth-child(2n+1) {
		border-inline-start: 0;
	}
	.mt-pp__stat:nth-child(n+3) {
		border-top: 1px solid var(--mt-line);
	}
}
/* ?? Membership tiers (v2) ?? */
.mt-membership-shell {
	position: relative;
	width: min(1180px, 100%);
	margin-inline: auto;
	display: grid;
	gap: 1.5rem;
}
.mt-membership--app {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.mt-membership-pricing {
	position: relative;
	isolation: isolate;
	padding: clamp(2rem, 5vw, 4rem) 1.25rem clamp(3rem, 6vw, 5rem);
	overflow: hidden;
	background: var(--mt-surface);
}
.mt-membership-pricing__glow {
	position: absolute;
	inset: auto 10% 8% 10%;
	height: 180px;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--mt-success) 12%, transparent), transparent 70%);
	filter: blur(10px);
	pointer-events: none;
	z-index: 0;
}
.mt-membership-pricing > .mt-membership-shell {
	position: relative;
	z-index: 1;
}
.mt-membership-hero,
.mt-membership-pricing__intro {
	display: grid;
	gap: 0.75rem;
	text-align: center;
	justify-items: center;
}
.mt-membership-hero {
	text-align: start;
	justify-items: start;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 1rem;
	padding: 1.35rem 1.4rem;
	border: 1px solid color-mix(in srgb, var(--mt-success) 12%, transparent);
	border-radius: 1.35rem;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--mt-panel) 95%, transparent), color-mix(in srgb, var(--mt-panel-2) 90%, transparent)),
		linear-gradient(90deg, color-mix(in srgb, var(--mt-success) 8%, transparent), transparent 40%);
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}
.mt-membership-hero__copy {
	display: grid;
	gap: 0.4rem;
}
.mt-membership-hero__eyebrow {
	margin: 0;
	color: var(--mt-success);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}
.mt-membership-pricing__intro h1,
.mt-membership-hero h2 {
	margin: 0;
	font-size: clamp(1.7rem, 3.4vw, 2.55rem);
	line-height: 1.25;
	color: var(--mt-ink);
	max-width: 16ch;
}
.mt-membership-hero h2 {
	max-width: none;
	font-size: clamp(1.35rem, 2.4vw, 1.85rem);
}
.mt-membership-pricing__intro p,
.mt-membership-hero p {
	margin: 0;
	max-width: 54ch;
	color: var(--mt-text-muted);
	line-height: 1.85;
}
.mt-membership__tabs {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.35rem;
	margin-inline: auto;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-panel) 72%, transparent);
	border: 1px solid var(--mt-line);
	backdrop-filter: blur(8px);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}
.mt-membership--app .mt-membership__tabs {
	margin-inline: 0;
}
.mt-membership__tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.55rem;
	padding: 0.55rem 1.15rem;
	border-radius: 999px;
	border: 0;
	background: transparent;
	color: var(--mt-ink);
	text-decoration: none;
	font-weight: 800;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}
.mt-membership__tab:hover {
	background: color-mix(in srgb, var(--mt-success) 8%, transparent);
	transform: translateY(-1px);
}
.mt-membership__tab.is-active {
	background: var(--mt-success);
	color: var(--mt-on-accent);
	box-shadow: 0 10px 22px rgba(15, 118, 110, 0.28);
}
.mt-membership__summary {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1.15rem;
	padding: 1.15rem 1.3rem;
	border-radius: 1.25rem;
	border: 1px solid color-mix(in srgb, var(--mt-success) 14%, transparent);
	background: linear-gradient(135deg, var(--mt-panel), color-mix(in srgb, var(--mt-success) 6%, var(--mt-panel)) 55%, color-mix(in srgb, var(--mt-signal) 6%, var(--mt-panel)));
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.06);
}
.mt-membership__summary-main {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
}
.mt-membership__summary-panel {
	margin: 0 0 0.15rem;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--mt-text-muted);
}
.mt-membership__summary strong {
	display: block;
	font-size: 1.05rem;
	color: var(--mt-ink);
}
.mt-membership__usage {
	display: grid;
	grid-auto-flow: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mt-membership__usage li {
	min-width: 8.5rem;
	padding: 0.75rem 0.9rem;
	border-radius: 0.95rem;
	background: color-mix(in srgb, var(--mt-panel) 80%, transparent);
	border: 1px solid var(--mt-line);
	display: grid;
	gap: 0.2rem;
	text-align: center;
}
.mt-membership__usage span {
	font-size: 0.78rem;
	color: var(--mt-text-muted);
	font-weight: 700;
}
.mt-membership__usage strong {
	font-size: 1rem;
	color: var(--mt-ink);
}
.mt-membership__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
	align-items: stretch;
}
.mt-membership-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	padding: 1.6rem 1.45rem 1.45rem;
	border-radius: 1.5rem;
	border: 1px solid var(--mt-line);
	background: color-mix(in srgb, var(--mt-panel) 94%, transparent);
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
	overflow: hidden;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.mt-membership-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: var(--mt-text-muted);
}
.mt-membership-card--plus::before {
	background: linear-gradient(90deg, #0f766e, #14b8a6);
}
.mt-membership-card--pro::before {
	background: linear-gradient(90deg, #b45309, #f59e0b);
}
.mt-membership-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px rgba(15, 23, 42, 0.1);
}
.mt-membership-card.is-featured {
	border-color: color-mix(in srgb, var(--mt-success) 35%, transparent);
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--mt-success) 8%, var(--mt-panel)) 0%, color-mix(in srgb, var(--mt-panel) 98%, transparent) 38%),
		var(--mt-panel);
	box-shadow: 0 28px 60px rgba(15, 118, 110, 0.16);
	transform: translateY(-4px) scale(1.01);
}
.mt-membership-card.is-current {
	border-color: color-mix(in srgb, var(--mt-success) 45%, transparent);
}
.mt-membership-card__ribbon {
	position: absolute;
	top: 0.9rem;
	inset-inline: 0;
	width: max-content;
	margin-inline: auto;
	padding: 0.3rem 0.85rem;
	border-radius: 999px;
	background: linear-gradient(135deg, #0f766e, #14b8a6); /* intentionally fixed: plan-tier brand gradient */
	color: var(--mt-white);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	box-shadow: 0 8px 18px rgba(15, 118, 110, 0.28);
}
.mt-membership-card__head {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 0.5rem;
	padding: 0.5rem 0.35rem 1.1rem;
	border-bottom: 1px dashed var(--mt-line);
}
.mt-membership-card.is-featured .mt-membership-card__head {
	padding-top: 2.1rem;
}
.mt-membership-card__title {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 1.95rem);
	line-height: 1.25;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: var(--mt-ink);
}
.mt-membership-card__title--plus {
	color: var(--mt-success);
}
.mt-membership-card__title--pro {
	color: var(--mt-warning);
}
.mt-membership-card__current {
	font-style: normal;
	font-size: 0.78rem;
	font-weight: 800;
	color: var(--mt-success);
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-success) 10%, transparent);
}
.mt-membership-card__price-wrap {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 0.2rem;
	margin-top: 0.25rem;
}
.mt-membership-card__price {
	display: block;
	font-family: "Rajdhani", "Vazirmatn", sans-serif;
	font-size: clamp(1.85rem, 3vw, 2.45rem);
	line-height: 1.1;
	font-weight: 800;
	color: var(--mt-ink);
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
}
.mt-membership-card--plus .mt-membership-card__price {
	color: var(--mt-success);
}
.mt-membership-card--pro .mt-membership-card__price {
	color: var(--mt-warning);
}
.mt-membership-card__period {
	display: block;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--mt-text-muted);
}
.mt-membership-card__blurb {
	margin: 0.35rem 0 0;
	color: var(--mt-text-muted);
	line-height: 1.85;
	font-size: 0.97rem;
	max-width: 30ch;
	text-align: center;
	text-wrap: balance;
}
.mt-membership-card__features {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7rem;
	flex: 1;
}
.mt-membership-card__features li {
	display: grid;
	grid-template-columns: 1.35rem 1fr;
	gap: 0.6rem;
	align-items: start;
	line-height: 1.7;
	font-size: 0.97rem;
	color: var(--mt-ink);
}
.mt-membership-card__check {
	display: inline-flex;
	width: 1.3rem;
	height: 1.3rem;
	margin-top: 0.1rem;
	border-radius: 999px;
	align-items: center;
	justify-content: center;
	background: color-mix(in srgb, var(--mt-success) 12%, transparent);
	color: var(--mt-success);
}
.mt-membership-card--pro .mt-membership-card__check {
	background: var(--mt-warning-bg);
	color: var(--mt-warning);
}
.mt-membership-card__foot {
	margin-top: auto;
	display: flex;
	justify-content: center;
}
.mt-membership-card__form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}
.mt-membership-card__cta,
.mt-membership-card__form .mt-btn {
	width: auto;
	min-width: 12rem;
	justify-content: center;
	min-height: 2.85rem;
	border-radius: 0.9rem;
	font-weight: 800;
}
.mt-membership-card__gateway-label {
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}
.mt-membership-card__gateway {
	width: 100%;
	max-width: 14rem;
	min-height: 2.4rem;
	padding: 0 0.75rem;
	border-radius: 0.7rem;
	border: 1px solid var(--mt-border);
	background: var(--mt-panel);
	color: var(--mt-ink);
	font-family: inherit;
	font-size: 0.85rem;
}
.mt-membership-card .mt-btn.is-disabled,
.mt-membership-card span.mt-btn {
	pointer-events: none;
	opacity: 0.78;
}
.mt-membership-avatar {
	border-radius: 999px;
	box-sizing: border-box;
}
.mt-membership-avatar--free {
	box-shadow: 0 0 0 3px var(--mt-text-muted);
}
.mt-membership-avatar--plus {
	box-shadow: 0 0 0 3px var(--mt-success), 0 0 0 7px rgba(15, 118, 110, 0.16);
}
.mt-membership-avatar--pro {
	box-shadow: 0 0 0 3px var(--mt-warning), 0 0 0 7px rgba(180, 83, 9, 0.18);
}
.mt-membership__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.22rem 0.7rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.4;
}
.mt-membership__badge--free {
	background: var(--mt-panel-2);
	color: var(--mt-steel);
}
.mt-membership__badge--plus {
	background: color-mix(in srgb, var(--mt-success) 18%, transparent);
	color: var(--mt-success);
}
.mt-membership__badge--pro {
	background: var(--mt-warning-bg);
	color: var(--mt-warning);
}
.mt-membership__orders {
	display: grid;
	gap: 0.85rem;
	padding: 1.1rem;
	border-radius: 1.2rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
}
.mt-membership__orders-head h3 {
	margin: 0;
	color: var(--mt-ink);
}
.mt-membership__orders-table {
	overflow-x: auto;
}
.mt-membership-pricing__login,
.mt-membership-pricing__note {
	text-align: center;
	color: var(--mt-text-muted);
}
.mt-membership-pricing__login a {
	font-weight: 800;
	color: var(--mt-success);
}
.mt-membership-ops {
	display: grid;
	gap: 1rem;
	padding: 1rem;
	border: 1px dashed color-mix(in srgb, var(--mt-success) 30%, transparent);
	border-radius: 1rem;
	background: var(--mt-panel-2);
	color: var(--mt-ink);
}
.mt-membership-ops h3 {
	margin: 0;
	color: var(--mt-ink);
}
.mt-membership-ops__form {
	display: grid;
	gap: 0.45rem;
	padding: 0.85rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.85rem;
	background: var(--mt-panel);
}
.mt-plan-editor {
	display: grid;
	gap: 1rem;
}
.mt-plan-editor__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	align-items: start;
}
.mt-plan-editor__card {
	display: grid;
	gap: 0.55rem;
	padding: 1.1rem;
	border-radius: 1.1rem;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}
.mt-plan-editor__card--plus {
	border-color: color-mix(in srgb, var(--mt-success) 35%, transparent);
	background: linear-gradient(180deg, color-mix(in srgb, var(--mt-success) 8%, var(--mt-panel)), var(--mt-panel) 40%);
}
.mt-plan-editor__card--pro {
	border-color: color-mix(in srgb, var(--mt-warning) 35%, transparent);
	background: linear-gradient(180deg, color-mix(in srgb, var(--mt-warning) 8%, var(--mt-panel)), var(--mt-panel) 40%);
}
.mt-plan-editor__title {
	margin: 0 0 0.35rem;
	font-size: 1.2rem;
	font-weight: 900;
	text-align: center;
}
.mt-plan-editor__card label {
	font-weight: 700;
	font-size: 0.9rem;
}
.mt-plan-editor__card input[type="number"],
.mt-plan-editor__card input[type="text"],
.mt-plan-editor__card select,
.mt-plan-editor__card textarea {
	width: 100%;
}
.mt-plan-editor__card .mt-field-hint {
	margin: -0.15rem 0 0.25rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}
@media (max-width: 980px) {
	.mt-plan-editor__grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 980px) {
	.mt-membership__grid {
		grid-template-columns: 1fr;
	}
	.mt-membership-card.is-featured {
		transform: none;
	}
	.mt-membership-hero {
		grid-template-columns: 1fr;
	}
	.mt-membership__usage {
		grid-auto-flow: row;
		width: 100%;
	}
}
/* --- Design store --- */
.mt-design-single-shell,
body.page-template-page-canvas:has(.mt-design-store),
body.single-mt_design {
	background: var(--mt-surface);
}
.mt-design-store,
.mt-design-single {
	--mt-ds-ink: var(--mt-ink);
	--mt-ds-muted: var(--mt-text-muted);
	--mt-ds-line: var(--mt-line);
	--mt-ds-accent: var(--mt-accent);
	box-sizing: border-box;
	width: var(--mt-content, min(1240px, calc(100% - 2.5rem)));
	max-width: var(--mt-content, min(1240px, calc(100% - 2.5rem)));
	margin-inline: auto;
	padding: 1.25rem 0 2.75rem;
}
.mt-design-manage,
.mt-design-purchases {
	display: grid;
	gap: 1.25rem;
}
.mt-design-store__hero {
	margin-bottom: 1.25rem;
	text-align: center;
}
.mt-design-store__eyebrow {
	margin: 0;
	color: var(--mt-ds-accent);
	font-size: 0.78rem;
	font-weight: 700;
}
.mt-design-store__title {
	margin: 0.25rem 0 0.4rem;
	color: var(--mt-ds-ink);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 800;
	line-height: 1.35;
}
.mt-design-store__lead {
	margin: 0 auto;
	max-width: 40rem;
	color: var(--mt-ds-muted);
	font-size: 0.9rem;
	line-height: 1.75;
}
.mt-design-store__layout {
	display: grid;
	grid-template-columns: 15rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}
.mt-design-store__aside {
	position: sticky;
	top: 5rem;
}
.mt-design-store__filters {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin: 0;
	padding: 0.75rem;
	border: 1px solid var(--mt-ds-line);
	border-radius: 0.75rem;
	background: var(--mt-panel);
}
.mt-design-store__filters > br,
.mt-design-store__filters > p:empty,
.mt-design-store__filters label > br {
	display: none !important;
}
.mt-design-store__filters-title {
	margin: 0;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid var(--mt-ds-line);
	color: var(--mt-ds-ink);
	font-size: 0.86rem;
	font-weight: 800;
}
.mt-design-store__filters label {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0;
	color: var(--mt-ds-ink);
	font-size: 0.7rem;
	font-weight: 700;
}
.mt-design-store__filters label > span {
	color: var(--mt-ds-muted);
}
.mt-design-store__filters input,
.mt-design-store__filters select {
	box-sizing: border-box;
	width: 100%;
	height: 2.1rem;
	margin: 0;
	padding: 0.25rem 0.5rem;
	border: 1px solid var(--mt-ds-line);
	border-radius: 0.45rem;
	background: var(--mt-panel);
	color: var(--mt-ds-ink);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.2;
	-webkit-appearance: none;
	appearance: none;
}
.mt-design-store__filters select {
	background-image: linear-gradient(45deg, transparent 50%, var(--mt-ds-muted) 50%), linear-gradient(135deg, var(--mt-ds-muted) 50%, transparent 50%);
	background-position: calc(100% - 14px) calc(50% - 2px), calc(100% - 9px) calc(50% - 2px);
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	padding-inline-end: 1.5rem;
}
html[dir="rtl"] .mt-design-store__filters select {
	background-position: 14px calc(50% - 2px), 9px calc(50% - 2px);
}
.mt-design-store__filters input:focus,
.mt-design-store__filters select:focus {
	outline: none;
	border-color: color-mix(in srgb, var(--mt-ds-accent) 45%, transparent);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--mt-ds-accent) 12%, transparent);
}
.mt-design-store__filter-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem;
	margin-top: 0.2rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--mt-ds-line);
}
.mt-design-store__filter-actions .mt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.1rem;
	padding: 0.3rem 0.4rem;
	font-size: 0.78rem;
}
.mt-design-store__main {
	min-width: 0;
}
.mt-design-store__empty {
	margin: 0;
	padding: 1.25rem;
	border: 1px dashed var(--mt-ds-line);
	border-radius: 0.85rem;
	background: var(--mt-panel);
	color: var(--mt-ds-muted);
	text-align: center;
}
.mt-design-store__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}
.mt-design-store__pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.3rem;
	margin-top: 1rem;
}
.mt-design-store__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.45rem;
	border: 1px solid var(--mt-ds-line);
	border-radius: 0.4rem;
	background: var(--mt-panel);
	color: var(--mt-ds-ink);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
}
.mt-design-store__page.is-active,
.mt-design-store__page:not(.mt-design-store__page--gap):hover {
	border-color: color-mix(in srgb, var(--mt-ds-accent) 35%, transparent);
	background: color-mix(in srgb, var(--mt-ds-accent) 8%, var(--mt-panel));
	color: var(--mt-ds-accent);
}
/* ellipsis gap marker — no border/background, just the dots */
.mt-design-store__page--gap {
	border-color: transparent;
	background: transparent;
	font-weight: 400;
	cursor: default;
	min-width: 1.2rem;
}
.mt-design-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--mt-ds-line);
	border-radius: 0.9rem;
	overflow: hidden;
	background: var(--mt-panel);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mt-design-card:hover {
	border-color: color-mix(in srgb, var(--mt-ds-accent) 28%, transparent);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}
.mt-design-card__media {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: var(--mt-panel-2);
}
.mt-design-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
html[data-theme="dark"] .mt-design-card__media::after,
html.mt-theme-dark .mt-design-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(11, 18, 32, 0.12) 0%, rgba(11, 18, 32, 0.32) 100%);
	pointer-events: none;
}
.mt-design-card__placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--mt-ds-muted);
	font-size: 0.8rem;
}
.mt-design-card__3d {
	position: absolute;
	inset-inline-start: 0.55rem;
	top: 0.55rem;
	padding: 0.18rem 0.5rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ds-accent) 94%, transparent);
	color: var(--mt-white);
	font-size: 0.68rem;
	font-weight: 800;
}
.mt-design-card__body {
	display: grid;
	align-content: start;
	flex: 1 1 auto;
	gap: 0.3rem;
	padding: 0.75rem 0.8rem 0.85rem;
}
.mt-design-card__cat {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--mt-ds-accent);
}
.mt-design-card h3 {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--mt-ds-ink);
}
.mt-design-card h3 a {
	color: inherit;
	text-decoration: none;
}
.mt-design-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.4rem;
	margin: 0;
	color: var(--mt-ds-muted);
	font-size: 0.78rem;
}
.mt-design-card__meta a {
	color: inherit;
	text-decoration: none;
}
.mt-design-card__foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin-top: 0.25rem;
}
.mt-design-card__price {
	font-size: 0.95rem;
	color: var(--mt-ds-ink);
}
.mt-design-card__price span {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--mt-ds-muted);
}
.mt-design-card__sales {
	color: var(--mt-ds-muted);
	font-size: 0.72rem;
}

/* Single design */
.mt-design-single__crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 1rem;
	color: var(--mt-ds-muted);
	font-size: 0.82rem;
}
.mt-design-single__crumb a {
	color: var(--mt-ds-accent);
	text-decoration: none;
	font-weight: 600;
}
.mt-design-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.75fr);
	gap: 1.15rem;
	align-items: start;
}
.mt-design-single__media {
	display: grid;
	gap: 1rem;
	min-width: 0;
}
.mt-design-single__viewer-wrap {
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	border: 1px solid var(--mt-ds-line);
	background: #0f172a;
	min-height: 380px;
}
.mt-design-single__model {
	display: block;
	width: 100%;
	height: min(480px, 62vh);
	background: radial-gradient(circle at 30% 20%, #1e293b, #0f172a);
}
.mt-design-single__step {
	min-height: 420px;
}
.mt-design-single__loading {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: grid;
	place-content: center;
	gap: 0.75rem;
	background: rgba(15, 23, 42, 0.92);
	color: #e2e8f0;
	text-align: center;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.mt-design-single__loading.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.mt-design-single__loading p {
	margin: 0;
	font-size: 0.92rem;
	font-weight: 600;
}
.mt-design-single__spinner {
	width: 2.2rem;
	height: 2.2rem;
	margin-inline: auto;
	border: 3px solid rgba(148, 163, 184, 0.35);
	border-top-color: #5eead4;
	border-radius: 50%;
	animation: mt-ds-spin 0.8s linear infinite;
}
@keyframes mt-ds-spin {
	to { transform: rotate(360deg); }
}
.mt-design-single__viewer-note,
.mt-design-single__package-lead {
	margin: 0;
	color: var(--mt-ds-muted);
	font-size: 0.82rem;
	line-height: 1.65;
}
.mt-design-single__hero-img,
.mt-design-single__viewer-empty {
	border-radius: 1rem;
	overflow: hidden;
	border: 1px solid var(--mt-ds-line);
	background: var(--mt-panel-2);
	min-height: 280px;
}
.mt-design-single__hero-img img {
	display: block;
	width: 100%;
	height: auto;
}
.mt-design-single__viewer-empty {
	display: grid;
	place-items: center;
	gap: 0.65rem;
	color: var(--mt-ds-muted);
	text-align: center;
	padding: 1.5rem;
}
.mt-design-single__viewer-native {
	min-height: 220px;
	background: linear-gradient(180deg, #0f172a, #1e293b);
	color: #e2e8f0;
	border: 1px solid var(--mt-ds-line);
	border-radius: 1rem;
}
.mt-design-single__viewer-native p {
	margin: 0;
	max-width: 28rem;
	line-height: 1.7;
	font-size: 0.9rem;
}
.mt-design-single__native-badge {
	display: inline-flex;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: rgba(94, 234, 212, 0.16);
	color: #5eead4;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.mt-design-single__gallery-block,
.mt-design-single__desc,
.mt-design-single__package {
	padding: 1.1rem 1.15rem;
	border: 1px solid var(--mt-ds-line);
	border-radius: 1rem;
	background: var(--mt-panel);
}
.mt-design-single__gallery-block h2,
.mt-design-single__desc h2,
.mt-design-single__package h2 {
	margin: 0 0 0.75rem;
	color: var(--mt-ds-ink);
	font-size: 1.05rem;
}
.mt-design-single__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem;
}
.mt-design-single__gallery-item {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 0.65rem;
	background: var(--mt-panel-2);
}
.mt-design-single__gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mt-design-single__buy {
	position: sticky;
	top: 5rem;
	display: grid;
	gap: 0.7rem;
	padding: 1.15rem;
	border-radius: 1rem;
	border: 1px solid color-mix(in srgb, var(--mt-ds-accent) 18%, transparent);
	background: var(--mt-panel);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}
.mt-design-single__buy .mt-notice {
	font-size: 0.82rem;
	line-height: 1.6;
	margin-bottom: 0;
}
.mt-design-single__cat {
	justify-self: start;
	padding: 0.18rem 0.55rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ds-accent) 8%, var(--mt-panel));
	color: var(--mt-ds-accent);
	font-size: 0.72rem;
	font-weight: 700;
}
.mt-design-single__buy h1 {
	margin: 0;
	color: var(--mt-ds-ink);
	font-size: 1.25rem;
	line-height: 1.4;
}
.mt-design-single__seller {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	margin: 0;
	font-size: 0.86rem;
}
.mt-design-single__seller span {
	color: var(--mt-ds-muted);
}
.mt-design-single__seller a {
	color: var(--mt-ds-accent);
	font-weight: 700;
	text-decoration: none;
}
.mt-design-single__facts {
	margin: 0;
	padding: 0.65rem 0;
	list-style: none;
	display: grid;
	gap: 0.45rem;
	border-top: 1px solid var(--mt-ds-line);
	border-bottom: 1px solid var(--mt-ds-line);
}
.mt-design-single__facts li {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.86rem;
}
.mt-design-single__facts span {
	color: var(--mt-ds-muted);
}
.mt-design-single__facts strong {
	color: var(--mt-ds-ink);
	font-weight: 700;
	text-align: end;
}
.mt-design-single__price-box {
	display: grid;
	gap: 0.25rem;
	justify-items: center;
	text-align: center;
}
.mt-design-single__list {
	margin: 0;
	text-decoration: line-through;
	color: var(--mt-ds-muted);
	font-size: 0.88rem;
}
.mt-design-single__disc {
	margin: 0;
	color: var(--mt-success);
	font-weight: 700;
	font-size: 0.84rem;
}
.mt-design-single__pay {
	display: block;
	color: var(--mt-ds-ink);
	font-size: 1.55rem;
	line-height: 1.2;
}
.mt-design-single__pay span {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mt-ds-muted);
}
.mt-design-single__cta,
.mt-design-single__buy-form .mt-btn,
.mt-design-single__cta-secondary {
	width: 100%;
	justify-content: center;
}
.mt-design-single__buy-form {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.mt-design-single__gateway-label {
	font-size: 0.78rem;
	color: var(--mt-ds-muted);
}
.mt-design-single__gateway {
	width: 100%;
	min-height: 2.4rem;
	padding: 0 0.75rem;
	border-radius: 0.7rem;
	border: 1px solid var(--mt-border);
	background: var(--mt-panel);
	color: var(--mt-ds-ink);
	font-family: inherit;
	font-size: 0.85rem;
}
.mt-design-single__buy-hint {
	margin: 0;
	color: var(--mt-ds-muted);
	font-size: 0.78rem;
	line-height: 1.6;
}
.mt-design-single__sections {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
	gap: 1rem;
	margin-top: 1.15rem;
}
.mt-design-single__prose {
	color: var(--mt-ds-ink);
	font-size: 0.94rem;
	line-height: 1.85;
}
.mt-design-single__prose p:first-child {
	margin-top: 0;
}
.mt-design-single__prose-empty {
	margin: 0;
	color: var(--mt-ds-muted);
}
.mt-design-single__highlights {
	display: grid;
	gap: 0.55rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}
.mt-design-single__highlights li {
	display: grid;
	gap: 0.15rem;
	padding: 0.65rem 0.75rem;
	border-radius: 0.65rem;
	background: var(--mt-panel-2);
}
.mt-design-single__highlights strong {
	color: var(--mt-ds-muted);
	font-size: 0.72rem;
	font-weight: 700;
}
.mt-design-single__highlights span {
	color: var(--mt-ds-ink);
	font-size: 0.9rem;
	font-weight: 600;
}
.mt-design-single__package-list {
	display: grid;
	gap: 0.45rem;
	margin: 0.85rem 0 0;
	padding: 0;
	list-style: none;
}
.mt-design-single__package-list > li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 0.45rem 0.65rem;
	align-items: center;
	padding: 0.65rem 0.7rem;
	border: 1px solid var(--mt-ds-line);
	border-radius: 0.7rem;
	background: var(--mt-panel-2);
}
.mt-design-single__package-list > li.has-nested {
	align-items: start;
}
.mt-design-single__file-icon {
	display: inline-grid;
	place-items: center;
	min-width: 2.6rem;
	padding: 0.35rem 0.4rem;
	border-radius: 0.45rem;
	background: color-mix(in srgb, var(--mt-success) 16%, transparent);
	color: var(--mt-success);
	font-size: 0.68rem;
	font-weight: 800;
}
.mt-design-single__file-icon--sm {
	min-width: 2.1rem;
	padding: 0.2rem 0.3rem;
	font-size: 0.62rem;
	background: var(--mt-panel-2);
	color: var(--mt-text-muted);
}
.mt-design-single__file-meta {
	display: grid;
	gap: 0.1rem;
	min-width: 0;
}
.mt-design-single__file-meta strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--mt-ds-ink);
	font-size: 0.86rem;
}
.mt-design-single__file-meta span {
	color: var(--mt-ds-muted);
	font-size: 0.74rem;
}
.mt-design-single__file-lock {
	color: var(--mt-warning);
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
}
.mt-design-single__zip-list {
	grid-column: 1 / -1;
	display: grid;
	gap: 0.3rem;
	margin: 0.15rem 0 0;
	padding: 0.55rem;
	list-style: none;
	border-radius: 0.55rem;
	background: var(--mt-panel);
	border: 1px dashed color-mix(in srgb, var(--mt-ds-accent) 20%, transparent);
}
.mt-design-single__zip-list li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.5rem;
	align-items: center;
	padding: 0.35rem 0.4rem;
	border-radius: 0.4rem;
}
.mt-design-single__zip-list .mt-design-single__file-meta strong {
	font-size: 0.8rem;
	font-weight: 600;
	white-space: normal;
	word-break: break-word;
}
@media (max-width: 980px) {
	.mt-design-store__layout,
	.mt-design-single__layout,
	.mt-design-single__sections {
		grid-template-columns: 1fr;
	}
	.mt-design-store__aside,
	.mt-design-single__buy {
		position: static;
	}
	.mt-design-store__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 640px) {
	.mt-design-store__grid,
	.mt-design-single__gallery {
		grid-template-columns: 1fr;
	}
	.mt-design-store__filter-actions {
		grid-template-columns: 1fr;
	}
}
.mt-design-ops__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.mt-design-ops__head h2 {
	margin: 0;
	color: var(--mt-ink);
	font-size: 1.1rem;
}
.mt-design-ops__count {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ds-accent) 10%, var(--mt-panel));
	color: var(--mt-ds-accent);
	font-size: 0.82rem;
	font-weight: 600;
}
.mt-design-ops__empty {
	margin: 0.25rem 0 0;
}
.mt-design-ops__list {
	display: grid;
	gap: 1rem;
}
.mt-design-ops-card {
	display: grid;
	gap: 1rem;
	padding: 1.1rem 1.15rem;
	border: 1px solid var(--mt-line);
	border-radius: 1.1rem;
	background: linear-gradient(180deg, var(--mt-panel) 0%, var(--mt-panel-2) 100%);
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
}
.mt-design-ops-card__main {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}
.mt-design-ops-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 0.85rem;
	overflow: hidden;
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
}
.mt-design-ops-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mt-design-ops-card__thumb-ph {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--mt-text-muted);
	font-size: 0.78rem;
}
.mt-design-ops-card__3d {
	position: absolute;
	inset-inline-start: 0.4rem;
	inset-block-start: 0.4rem;
	padding: 0.18rem 0.45rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ds-accent) 92%, transparent);
	color: var(--mt-white);
	font-size: 0.7rem;
	font-weight: 700;
}
.mt-design-ops-card__body {
	display: grid;
	gap: 0.55rem;
	min-width: 0;
}
.mt-design-ops-card__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem 0.75rem;
}
.mt-design-ops-card__top h3 {
	margin: 0;
	color: var(--mt-ink);
	font-size: 1.05rem;
	line-height: 1.45;
}
.mt-design-ops-card__top h3 a {
	color: inherit;
	text-decoration: none;
}
.mt-design-ops-card__top h3 a:hover {
	color: var(--mt-ds-accent);
}
.mt-design-ops-card .mt-badge--warn {
	background: var(--mt-warning-bg);
	color: var(--mt-warning);
	border: 1px solid var(--mt-warning-border);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.22rem 0.55rem;
	border-radius: 999px;
	white-space: nowrap;
}
.mt-design-ops-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mt-design-ops-card__meta li {
	display: inline-flex;
	align-items: center;
	padding: 0.22rem 0.55rem;
	border-radius: 999px;
	background: var(--mt-panel-2);
	color: var(--mt-text-muted);
	font-size: 0.78rem;
}
.mt-design-ops-card__preview {
	justify-self: start;
	font-size: 0.86rem;
	font-weight: 600;
	color: var(--mt-ds-accent);
	text-decoration: none;
}
.mt-design-ops-card__preview:hover {
	text-decoration: underline;
}
.mt-design-ops-card__actions {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.85rem 1rem;
	align-items: end;
	padding-top: 0.95rem;
	border-top: 1px solid var(--mt-line);
}
.mt-design-ops-card__approve {
	margin: 0;
}
.mt-design-ops-card__approve .mt-btn {
	min-width: 9.5rem;
	height: 2.65rem;
}
.mt-design-ops-card__reject {
	display: grid;
	gap: 0.35rem;
	margin: 0;
	min-width: 0;
}
.mt-design-ops-card__reject-label {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}
.mt-design-ops-card__reject-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.5rem;
	align-items: end;
}
.mt-design-ops-card__reject-input {
	width: 100%;
	min-height: 2.65rem;
	margin: 0;
	padding: 0.55rem 0.85rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	background: var(--mt-panel);
	font: inherit;
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--mt-ink);
	resize: vertical;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
}
.mt-design-ops-card__reject-input:focus {
	outline: none;
	border-color: var(--mt-success);
	box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
}
.mt-design-ops-card__reject .mt-btn {
	height: 2.65rem;
	white-space: nowrap;
}
.mt-btn--danger-outline,
.mt-app .mt-btn--danger-outline {
	border-color: var(--mt-danger-border) !important;
	color: var(--mt-danger) !important;
	background: var(--mt-panel) !important;
}
.mt-btn--danger-outline:hover,
.mt-app .mt-btn--danger-outline:hover {
	border-color: var(--mt-danger) !important;
	background: var(--mt-danger-bg) !important;
	color: var(--mt-danger) !important;
}
@media (max-width: 820px) {
	.mt-design-ops-card__main {
		grid-template-columns: 1fr;
	}
	.mt-design-ops-card__thumb {
		max-width: 220px;
	}
	.mt-design-ops-card__actions {
		grid-template-columns: 1fr;
	}
	.mt-design-ops-card__approve .mt-btn {
		width: 100%;
	}
	.mt-design-ops-card__reject-row {
		grid-template-columns: 1fr;
	}
}
.mt-inline-form {
	display: inline-flex;
	gap: 0.35rem;
}
.mt-design-manage__form-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}
.mt-design-manage__form-head h2 {
	margin: 0;
	color: var(--mt-ink);
}
.mt-design-manage__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
	justify-content: flex-end;
}
.mt-design-form__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	margin-top: 1.35rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--mt-line);
}
.mt-design-form__actions .mt-check {
	margin: 0;
	width: 100%;
}
.mt-design-form__actions .mt-btn {
	align-self: flex-start;
	min-width: 11rem;
}
.mt-design-form__action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	align-items: center;
}
.mt-design-form__action-row .mt-btn {
	align-self: auto;
}
.mt-design-delete-form {
	display: none;
}
.mt-design-file-list {
	list-style: none;
	margin: 0.65rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.4rem;
}
.mt-design-file-list__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.65rem;
	background: var(--mt-panel);
	font-size: 0.92rem;
}
.mt-design-file-list__item button {
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 1.15rem;
	line-height: 1;
	color: var(--mt-text-muted);
}

.mt-file-upload__list {
	list-style: none;
	margin: 0.5rem 0;
	padding: 0;
	display: grid;
	gap: 0.4rem;
}
.mt-file-upload__list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.65rem;
	background: var(--mt-panel);
	font-size: 0.92rem;
}
.mt-file-upload__remove {
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 1.15rem;
	line-height: 1;
	color: var(--mt-text-muted);
	flex: 0 0 auto;
}
.mt-file-upload__status {
	margin: 0.4rem 0 0;
	font-size: 0.86rem;
	color: var(--mt-text-muted);
}

/* ---- Iran user-distribution map ("آمار و لیست کاربران") ---------------------------------- */

.mt-iran-map-panel {
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
	border-radius: 8px;
	padding: 1rem;
	margin-bottom: 1.5rem;
}

.mt-ops-referrers-panel {
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
	border-radius: 8px;
	padding: 1rem;
	margin: 1.5rem 0 0;
}
.mt-ops-referrers-panel .mt-client-projects__head {
	margin-bottom: 0.85rem;
}
.mt-ops-referrers tbody tr:first-child td {
	font-weight: 700;
}

.mt-iran-map-panel__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
	margin: 1rem 0 0;
}

.mt-iran-map-panel__filter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	color: var(--mt-steel);
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;
}

.mt-iran-map-panel__filter-btn:hover {
	border-color: var(--mt-accent);
	color: var(--mt-ink);
}

.mt-iran-map-panel__filter-btn.is-active {
	background: var(--mt-accent);
	border-color: var(--mt-accent);
	color: var(--mt-on-accent);
	box-shadow: 0 1px 2px rgba(14, 116, 144, 0.25);
}

.mt-iran-map-panel__body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}

.mt-iran-map {
	width: 100%;
	max-width: 620px;
}

.mt-iran-map__svg {
	width: 100%;
	height: auto;
	display: block;
}

.mt-iran-map__province {
	/* Fixed (not theme-token) stroke — borders must stay visible against any fill color the JS
	   computes, in both light and dark themes, so this deliberately does not use --mt-panel. */
	stroke: #5b6b7d;
	stroke-width: 1.4;
	transition: opacity 0.12s ease, stroke-width 0.12s ease;
	cursor: pointer;
}

.mt-iran-map__province:hover {
	opacity: 0.88;
	stroke: #1e293b;
	stroke-width: 2.2;
}

/* Top-3 provinces for the active filter — thicker gold outline + a subtle glow, so the leaders
   are readable at a glance instead of blending into the color-scale gradient. */
.mt-iran-map__province.is-top1,
.mt-iran-map__province.is-top2,
.mt-iran-map__province.is-top3 {
	stroke: #b45309;
	stroke-width: 2.4;
	filter: drop-shadow(0 0 3px rgba(180, 83, 9, 0.55));
}

.mt-iran-map__province.is-top1 {
	stroke: #92400e;
	stroke-width: 3;
	filter: drop-shadow(0 0 5px rgba(146, 64, 14, 0.7));
}

/* Rank-number medal badges drawn on top of the top-3 provinces — never intercept hover, so the
   province underneath keeps triggering the tooltip normally. */
.mt-iran-map__badges,
.mt-iran-map__badge {
	pointer-events: none;
}

.mt-iran-map__badge {
	filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4));
}

.mt-iran-map__legend {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}

.mt-iran-map__legend-bar {
	display: flex;
	width: 220px;
	height: 10px;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--mt-line);
}

.mt-iran-map__legend-bar span {
	flex: 1 1 0;
	height: 100%;
}

.mt-iran-map__legend-labels {
	display: flex;
	justify-content: space-between;
	width: 220px;
	font-size: 0.75rem;
	color: var(--mt-text-muted);
}

/* Fixed dark-card design, intentionally NOT built from --mt-ink/--mt-white theme tokens — those
   flip in dark mode (ink goes near-white) and would make text vanish into its own background.
   This tooltip always renders as the same dark flag regardless of the page's light/dark theme. */
.mt-iran-map__tooltip {
	position: absolute;
	z-index: 5;
	top: 0;
	left: 0;
	pointer-events: none;
	background: #0f172a;
	color: #f8fafc;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px;
	padding: 0.7rem 0.9rem;
	font-size: 0.8rem;
	line-height: 1.5;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
	min-width: 180px;
	max-width: 240px;
}

.mt-iran-map__tooltip-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.mt-iran-map__tooltip strong {
	font-size: 0.9rem;
	font-weight: 700;
	color: #ffffff;
}

.mt-iran-map__tooltip-rank {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.1rem 0.5rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	background: rgba(180, 83, 9, 0.25);
	color: #fbbf24;
	white-space: nowrap;
}

.mt-iran-map__tooltip-total {
	display: flex;
	justify-content: space-between;
	color: rgba(248, 250, 252, 0.75);
	margin-bottom: 0.3rem;
	font-size: 0.78rem;
}

.mt-iran-map__tooltip-total b {
	color: #ffffff;
	font-weight: 700;
}

.mt-iran-map__tooltip ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.22rem;
}

.mt-iran-map__tooltip li {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.76rem;
	color: rgba(248, 250, 252, 0.85);
}

.mt-iran-map__tooltip li b {
	color: #ffffff;
	font-weight: 700;
}

.mt-iran-map__tooltip-empty {
	color: rgba(248, 250, 252, 0.6);
	font-size: 0.75rem;
}

@media (max-width: 640px) {
	.mt-iran-map-panel__filters {
		gap: 0.3rem;
	}
	.mt-iran-map-panel__filter-btn {
		font-size: 0.75rem;
		padding: 0.3rem 0.65rem;
	}
}

/* ---- Site content admin cards ("تبلیغات پنل" / "اعلان‌های عمومی") ------------------------- */

.mt-cms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1rem;
	margin: 1rem 0;
}

.mt-cms-card {
	--mt-cms-accent: var(--mt-accent);
	display: flex;
	flex-direction: column;
	background: var(--mt-panel-2);
	border: 1px solid var(--mt-line);
	border-radius: 0.85rem;
	overflow: hidden;
	border-top: 3px solid var(--mt-cms-accent);
	transition: box-shadow 0.15s ease, opacity 0.15s ease;
}

.mt-cms-card:hover {
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.08);
}

.mt-cms-card--inactive {
	opacity: 0.6;
}

.mt-cms-card--new {
	border-top-color: var(--mt-line);
	border-style: dashed;
	border-width: 2px;
	border-top-width: 3px;
	background: transparent;
}

/* Priority accent for bulletin cards — no per-row inline --mt-cms-accent like promos, so the
   border color is set per priority class instead. */
.mt-cms-card--priority-info { --mt-cms-accent: var(--mt-info, #60a5fa); }
.mt-cms-card--priority-warning { --mt-cms-accent: var(--mt-warning, #b45309); }
.mt-cms-card--priority-critical { --mt-cms-accent: var(--mt-danger, #dc2626); }

.mt-cms-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	padding: 0.7rem 0.9rem;
	border-bottom: 1px solid var(--mt-line);
	background: var(--mt-panel);
}

.mt-cms-card__badge {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--mt-steel);
	font-family: inherit;
	direction: ltr;
	text-align: right;
	unicode-bidi: plaintext;
}

.mt-cms-card--new .mt-cms-card__badge {
	color: var(--mt-accent);
}

.mt-cms-card__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mt-steel);
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}

.mt-cms-card__toggle input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	accent-color: var(--mt-cms-accent);
	cursor: pointer;
}

.mt-cms-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 0.9rem;
	flex: 1 1 auto;
}

.mt-cms-field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.mt-cms-field__label {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--mt-steel);
}

.mt-cms-field input[type="text"],
.mt-cms-field input[type="url"],
.mt-cms-field select,
.mt-cms-field textarea {
	width: 100%;
	padding: 0.5rem 0.65rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.5rem;
	background: var(--mt-panel);
	color: var(--mt-ink);
	font-size: 0.86rem;
	font-family: inherit;
	line-height: 1.6;
}

.mt-cms-field textarea {
	resize: vertical;
	min-height: 5.5rem;
}

.mt-cms-field input:focus,
.mt-cms-field select:focus,
.mt-cms-field textarea:focus {
	outline: none;
	border-color: var(--mt-accent);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--mt-accent) 22%, transparent);
}

.mt-cms-color-picker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.mt-cms-color-picker input[type="color"] {
	width: 2.4rem;
	height: 2.1rem;
	padding: 0;
	border: 1px solid var(--mt-line);
	border-radius: 0.4rem;
	background: var(--mt-panel);
	cursor: pointer;
}

.mt-cms-color-picker code {
	font-size: 0.78rem;
	color: var(--mt-steel);
	direction: ltr;
}

.mt-cms-field__meta {
	margin: 0;
	font-size: 0.76rem;
	color: var(--mt-text-muted);
}

.mt-cms-hint {
	font-size: 0.82rem;
}

@media (max-width: 480px) {
	.mt-cms-grid {
		grid-template-columns: 1fr;
	}
}

/* ---- Feature flags ("قابلیت‌ها") — grouped toggle cards, تنظیمات پلتفرم ------------------- */

.mt-flag-group {
	margin: 0 0 1.75rem;
}

.mt-flag-group:last-of-type {
	margin-bottom: 1.25rem;
}

.mt-flag-group__title {
	margin: 0 0 0.25rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--mt-ink);
}

.mt-flag-group__hint {
	margin: 0 0 0.75rem;
	font-size: 0.82rem;
	color: var(--mt-text-muted);
}

.mt-flag-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 0.75rem;
}

.mt-flag-card {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding: 0.85rem 0.95rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.7rem;
	background: var(--mt-panel-2);
	cursor: pointer;
	transition: border-color 0.12s ease, background 0.12s ease;
}

.mt-flag-card:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 45%, var(--mt-line));
}

.mt-flag-card.is-on {
	background: color-mix(in srgb, var(--mt-accent) 6%, var(--mt-panel-2));
	border-color: color-mix(in srgb, var(--mt-accent) 35%, var(--mt-line));
}

.mt-flag-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
}

.mt-flag-card__title {
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--mt-ink);
}

.mt-flag-card__desc {
	font-size: 0.8rem;
	line-height: 1.6;
	color: var(--mt-text-muted);
}

.mt-flag-card__head {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.mt-flag-card__slug {
	align-self: flex-start;
	margin-top: 0.15rem;
	padding: 0.1rem 0.4rem;
	border-radius: 0.3rem;
	background: color-mix(in srgb, var(--mt-ink) 6%, transparent);
	color: var(--mt-steel);
	font-size: 0.7rem;
	direction: ltr;
}

/* Toggle switch — a real checkbox underneath (visually hidden, not display:none, so it stays
   keyboard/screen-reader accessible), a track+thumb drawn from the label's own pseudo-elements. */
.mt-flag-switch {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	width: 2.5rem;
	height: 1.45rem;
}

.mt-flag-switch input {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	cursor: pointer;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.mt-flag-switch__track {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ink) 18%, transparent);
	transition: background 0.15s ease;
}

.mt-flag-switch__track::after {
	content: "";
	position: absolute;
	top: 0.15rem;
	right: 0.15rem;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	background: var(--mt-white);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	transition: transform 0.15s ease;
}

.mt-flag-switch input:checked ~ .mt-flag-switch__track {
	background: var(--mt-accent);
}

.mt-flag-switch input:checked ~ .mt-flag-switch__track::after {
	transform: translateX(-1.05rem);
}

.mt-flag-switch input:focus-visible ~ .mt-flag-switch__track {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--mt-accent) 35%, transparent);
}

@media (max-width: 480px) {
	.mt-flag-grid {
		grid-template-columns: 1fr;
	}
}

/* ── VAT remittance request cards (ops-vat + finance-vat) ───────────────────── */
:root {
	--remit-wait: var(--mt-warning, #b45309);
	--remit-referred: var(--mt-accent, #0e7490);
	--remit-settled: var(--mt-success, #0f766e);
	--remit-rejected: var(--mt-danger, #dc2626);
}

.mt-remit-page .mt-client-projects__head {
	margin-bottom: 0.35rem;
}

.mt-remit-section-title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--mt-ink);
	margin: 1.4rem 0 0.85rem;
}

.mt-remit-section-title:first-of-type {
	margin-top: 0.6rem;
}

.mt-remit-section-title__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	height: 1.5rem;
	padding: 0 0.45rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-accent) 14%, transparent);
	color: color-mix(in srgb, var(--mt-accent) 80%, var(--mt-ink));
	font-size: 0.78rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.mt-remit-list {
	display: grid;
	gap: 0.85rem;
}

.mt-remit-card {
	border: 1px solid var(--mt-line);
	border-radius: 14px;
	background: var(--mt-panel);
	padding: 1rem 1.1rem;
	box-shadow: 0 1px 2px rgba(8, 15, 30, 0.04);
	position: relative;
	overflow: hidden;
}

.mt-remit-card::before {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	width: 3px;
	background: var(--mt-line);
}

.mt-remit-card.is-pending::before {
	background: var(--remit-wait);
}

.mt-remit-card.is-referred-to-finance::before {
	background: var(--remit-referred);
}

.mt-remit-card.is-settled::before {
	background: var(--remit-settled);
}

.mt-remit-card.is-rejected::before {
	background: var(--remit-rejected);
}

.mt-remit-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.mt-remit-card__id {
	display: flex;
	align-items: baseline;
	gap: 0.55rem;
	flex-wrap: wrap;
}

.mt-remit-card__hash {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
}

.mt-remit-card__period {
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--mt-ink);
	letter-spacing: 0.01em;
}

.mt-remit-card__status {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 700;
	white-space: nowrap;
	border: 1px solid transparent;
}

.mt-remit-card__status::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: currentColor;
}

.mt-remit-card__status--pending {
	color: color-mix(in srgb, var(--remit-wait) 88%, var(--mt-ink));
	background: color-mix(in srgb, var(--remit-wait) 12%, transparent);
	border-color: color-mix(in srgb, var(--remit-wait) 28%, transparent);
}

.mt-remit-card__status--referred-to-finance {
	color: color-mix(in srgb, var(--remit-referred) 85%, var(--mt-ink));
	background: color-mix(in srgb, var(--remit-referred) 12%, transparent);
	border-color: color-mix(in srgb, var(--remit-referred) 30%, transparent);
}

.mt-remit-card__status--settled {
	color: color-mix(in srgb, var(--remit-settled) 82%, var(--mt-ink));
	background: color-mix(in srgb, var(--remit-settled) 13%, transparent);
	border-color: color-mix(in srgb, var(--remit-settled) 30%, transparent);
}

.mt-remit-card__status--rejected {
	color: color-mix(in srgb, var(--remit-rejected) 82%, var(--mt-ink));
	background: color-mix(in srgb, var(--remit-rejected) 13%, transparent);
	border-color: color-mix(in srgb, var(--remit-rejected) 30%, transparent);
}

.mt-remit-card__amount {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin: 0.75rem 0 0.9rem;
}

.mt-remit-card__amount-value {
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

.mt-remit-card__amount-unit {
	font-size: 0.85rem;
	color: var(--mt-text-muted);
	font-weight: 600;
}

.mt-remit-card__count {
	margin-inline-start: auto;
	font-size: 0.76rem;
	color: var(--mt-text-muted);
	background: color-mix(in srgb, var(--mt-ink) 5%, transparent);
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-variant-numeric: tabular-nums;
}

.mt-remit-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.15rem;
	border-top: 1px solid var(--mt-line);
	padding-top: 0.85rem;
}

.mt-remit-steps__item {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	padding: 0.25rem 0;
	position: relative;
}

.mt-remit-steps__item:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-inline-start: 0.6rem;
	top: 1.55rem;
	bottom: -0.15rem;
	width: 2px;
	background: var(--mt-line);
}

.mt-remit-steps__item.is-done:not(:last-child)::after {
	background: color-mix(in srgb, var(--remit-settled) 45%, transparent);
}

.mt-remit-steps__dot {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--mt-panel);
	border: 2px solid var(--mt-line);
	color: var(--mt-text-muted);
	z-index: 1;
}

.mt-remit-steps__item.is-done .mt-remit-steps__dot {
	background: var(--remit-settled);
	border-color: var(--remit-settled);
	color: #fff;
}

.mt-remit-steps__item.is-bad .mt-remit-steps__dot {
	background: var(--remit-rejected);
	border-color: var(--remit-rejected);
	color: #fff;
}

.mt-remit-steps__item.is-bad .mt-remit-steps__label {
	color: color-mix(in srgb, var(--remit-rejected) 78%, var(--mt-ink));
}

.mt-remit-card__reject {
	margin: 0.75rem 0 0;
	padding: 0.7rem 0.85rem;
	border-radius: 9px;
	background: color-mix(in srgb, var(--remit-rejected) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--remit-rejected) 28%, var(--mt-line));
	font-size: 0.83rem;
	line-height: 1.7;
	color: var(--mt-ink);
}

.mt-remit-card__reject strong {
	color: color-mix(in srgb, var(--remit-rejected) 80%, var(--mt-ink));
	margin-inline-end: 0.35rem;
}

/* settle + reject side by side inside a referred card */
.mt-remit-decision {
	flex: 1 1 100%;
	display: grid;
	gap: 0.7rem;
}

.mt-remit-reject {
	margin: 0;
	padding: 0.85rem;
	border: 1px dashed color-mix(in srgb, var(--remit-rejected) 35%, var(--mt-line));
	border-radius: 10px;
	background: color-mix(in srgb, var(--remit-rejected) 4%, transparent);
	display: grid;
	gap: 0.5rem;
}

.mt-remit-reject__title {
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: color-mix(in srgb, var(--remit-rejected) 78%, var(--mt-ink));
}

.mt-remit-reject__field {
	display: grid;
	gap: 0.25rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}

.mt-remit-reject__field textarea {
	font-size: 0.85rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--mt-line);
	border-radius: 8px;
	background: var(--mt-panel);
	color: var(--mt-ink);
	resize: vertical;
	font-family: inherit;
}

.mt-remit-reject__btn {
	justify-self: start;
	color: color-mix(in srgb, var(--remit-rejected) 80%, var(--mt-ink));
	border-color: color-mix(in srgb, var(--remit-rejected) 40%, var(--mt-line));
}

.mt-remit-steps__num {
	font-size: 0.7rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.mt-remit-steps__body {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	padding-top: 0.05rem;
}

.mt-remit-steps__label {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mt-ink);
}

.mt-remit-steps__item:not(.is-done) .mt-remit-steps__label {
	color: var(--mt-text-muted);
	font-weight: 500;
}

.mt-remit-steps__meta {
	font-size: 0.76rem;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
}

.mt-remit-steps__meta--pending {
	font-style: italic;
	opacity: 0.75;
}

.mt-remit-card__bankref {
	margin: 0.75rem 0 0;
	font-size: 0.8rem;
	color: var(--mt-text-muted);
}

.mt-remit-card__bankref bdi {
	color: var(--mt-ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.mt-remit-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.6rem;
	margin-top: 0.95rem;
	padding-top: 0.85rem;
	border-top: 1px solid var(--mt-line);
}

.mt-remit-card__list-form {
	margin: 0;
}

.mt-remit-card__act {
	margin: 0;
}

/* settle form embedded in a card */
.mt-remit-settle {
	flex: 1 1 100%;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem 0.75rem;
	align-items: end;
	margin: 0;
	padding: 0.85rem;
	border: 1px dashed color-mix(in srgb, var(--remit-referred) 35%, var(--mt-line));
	border-radius: 10px;
	background: color-mix(in srgb, var(--remit-referred) 5%, transparent);
}

.mt-remit-decision .mt-remit-settle {
	flex: none;
}

.mt-remit-settle__title {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mt-ink);
}

.mt-remit-settle__field {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}

.mt-remit-settle__field--wide {
	grid-column: 1 / -1;
}

.mt-remit-settle__field input {
	font-size: 0.85rem;
	padding: 0.4rem 0.55rem;
	border: 1px solid var(--mt-line);
	border-radius: 8px;
	background: var(--mt-panel);
	color: var(--mt-ink);
}

.mt-remit-settle > button {
	grid-column: 1 / -1;
	justify-self: start;
}

.mt-remit-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	text-align: center;
	padding: 2rem 1rem;
	color: var(--mt-text-muted);
	border: 1px dashed var(--mt-line);
	border-radius: 12px;
	font-size: 0.88rem;
	line-height: 1.7;
}

.mt-remit-empty svg {
	opacity: 0.5;
}

@media (max-width: 560px) {
	.mt-remit-settle {
		grid-template-columns: 1fr;
	}

	.mt-remit-card__amount-value {
		font-size: 1.3rem;
	}

	.mt-remit-card__count {
		margin-inline-start: 0;
	}
}

/* ── ریز تراکنش‌های مالیاتی — expandable audit rows (ops-vat) ───────────────── */
.mt-vat-tx__totals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.4rem;
	padding: 0.85rem 1rem;
	margin: 0.4rem 0 0.9rem;
	border: 1px solid var(--mt-line);
	border-radius: 12px;
	background: color-mix(in srgb, var(--mt-accent) 5%, var(--mt-panel));
	font-size: 0.85rem;
	color: var(--mt-text-muted);
}

.mt-vat-tx__totals strong {
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

.mt-vat-tx__export-form {
	margin: 0;
}

.mt-vat-tx .mt-client-projects__head {
	align-items: center;
	gap: 0.5rem 1rem;
	flex-wrap: wrap;
}

.mt-vat-tx__search {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.4rem 0 0.6rem;
}

.mt-vat-tx__search input[type="search"] {
	flex: 1 1 22rem;
	min-width: 0;
	padding: 0.5rem 0.7rem;
	border: 1px solid var(--mt-line);
	border-radius: 9px;
	background: var(--mt-panel);
	color: var(--mt-ink);
	font-size: 0.85rem;
}

.mt-vat-tx__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 0.9rem;
}

.mt-vat-tx__filters a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.32rem 0.7rem;
	border-radius: 999px;
	border: 1px solid var(--mt-line);
	background: var(--mt-panel);
	color: var(--mt-text-muted);
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.mt-vat-tx__filters a:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, var(--mt-line));
	color: var(--mt-ink);
}

.mt-vat-tx__filters a.is-active {
	background: color-mix(in srgb, var(--mt-accent) 12%, transparent);
	border-color: color-mix(in srgb, var(--mt-accent) 40%, transparent);
	color: color-mix(in srgb, var(--mt-accent) 82%, var(--mt-ink));
}

.mt-vat-tx__filters a.mt-vat-tx__filter--settled.is-active {
	background: color-mix(in srgb, var(--mt-success) 14%, transparent);
	border-color: color-mix(in srgb, var(--mt-success) 42%, transparent);
	color: color-mix(in srgb, var(--mt-success) 80%, var(--mt-ink));
}

.mt-vat-tx__filters a.mt-vat-tx__filter--process.is-active {
	background: color-mix(in srgb, var(--mt-warning) 14%, transparent);
	border-color: color-mix(in srgb, var(--mt-warning) 42%, transparent);
	color: color-mix(in srgb, var(--mt-warning) 82%, var(--mt-ink));
}

.mt-vat-tx__list {
	display: grid;
	gap: 0.5rem;
}

/* remittance-status badge on each row */
.mt-vat-tx__remit {
	display: inline-flex;
	align-items: center;
	gap: 0.32rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	white-space: nowrap;
	flex: 0 0 auto;
	border: 1px solid transparent;
}

.mt-vat-tx__remit-dot {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: currentColor;
}

.mt-vat-tx__remit--settled {
	color: color-mix(in srgb, var(--mt-success) 80%, var(--mt-ink));
	background: color-mix(in srgb, var(--mt-success) 13%, transparent);
	border-color: color-mix(in srgb, var(--mt-success) 30%, transparent);
}

.mt-vat-tx__remit--in_process {
	color: color-mix(in srgb, var(--mt-warning) 84%, var(--mt-ink));
	background: color-mix(in srgb, var(--mt-warning) 14%, transparent);
	border-color: color-mix(in srgb, var(--mt-warning) 32%, transparent);
}

.mt-vat-tx__remit--free {
	color: var(--mt-text-muted);
	background: color-mix(in srgb, var(--mt-ink) 5%, transparent);
	border-color: var(--mt-line);
}

.mt-vat-tx__item.is-remit-settled {
	border-color: color-mix(in srgb, var(--mt-success) 28%, var(--mt-line));
}

.mt-vat-tx__item.is-remit-in_process {
	border-color: color-mix(in srgb, var(--mt-warning) 28%, var(--mt-line));
}

.mt-vat-tx__item {
	border: 1px solid var(--mt-line);
	border-radius: 12px;
	background: var(--mt-panel);
	overflow: hidden;
}

.mt-vat-tx__item[open] {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, var(--mt-line));
	box-shadow: 0 2px 10px rgba(8, 15, 30, 0.06);
}

.mt-vat-tx__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	padding: 0.8rem 1rem;
	cursor: pointer;
	list-style: none;
}

.mt-vat-tx__summary::-webkit-details-marker {
	display: none;
}

.mt-vat-tx__summary:hover {
	background: color-mix(in srgb, var(--mt-ink) 3%, transparent);
}

.mt-vat-tx__source {
	display: inline-flex;
	align-items: center;
	padding: 0.22rem 0.6rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
	flex: 0 0 auto;
}

.mt-vat-tx__source--project {
	color: color-mix(in srgb, var(--mt-accent) 82%, var(--mt-ink));
	background: color-mix(in srgb, var(--mt-accent) 13%, transparent);
}

.mt-vat-tx__source--design_store {
	color: color-mix(in srgb, var(--mt-warning) 85%, var(--mt-ink));
	background: color-mix(in srgb, var(--mt-warning) 14%, transparent);
}

.mt-vat-tx__headline {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 8rem;
	flex: 1 1 12rem;
}

.mt-vat-tx__headline strong {
	font-size: 0.9rem;
	color: var(--mt-ink);
}

.mt-vat-tx__ctx {
	font-size: 0.78rem;
	color: var(--mt-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mt-vat-tx__date {
	font-size: 0.8rem;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	flex: 0 0 auto;
}

.mt-vat-tx__vat {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.1rem;
	white-space: nowrap;
	flex: 0 0 auto;
	margin-inline-start: auto;
}

.mt-vat-tx__vat-label {
	font-size: 0.68rem;
	color: var(--mt-text-muted);
}

.mt-vat-tx__vat strong {
	font-size: 0.95rem;
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

.mt-vat-tx__chev {
	color: var(--mt-text-muted);
	transition: transform 0.18s ease;
	flex: 0 0 auto;
}

.mt-vat-tx__item[open] .mt-vat-tx__chev {
	transform: rotate(180deg);
}

.mt-vat-tx__body {
	padding: 0.5rem 1rem 1.1rem;
	border-top: 1px solid var(--mt-line);
	display: grid;
	gap: 1rem;
}

.mt-vat-tx__amounts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
	margin-top: 0.6rem;
}

.mt-vat-tx__amounts > div {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.6rem 0.7rem;
	border: 1px solid var(--mt-line);
	border-radius: 9px;
	background: color-mix(in srgb, var(--mt-ink) 2.5%, transparent);
}

.mt-vat-tx__amounts > div span {
	font-size: 0.72rem;
	color: var(--mt-text-muted);
}

.mt-vat-tx__amounts > div strong {
	font-size: 0.95rem;
	color: var(--mt-ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

.mt-vat-tx__amounts > div.is-gross {
	background: color-mix(in srgb, var(--mt-accent) 8%, transparent);
	border-color: color-mix(in srgb, var(--mt-accent) 28%, var(--mt-line));
}

.mt-vat-tx__trace {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.4rem 0.9rem;
	align-items: baseline;
	font-size: 0.83rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--mt-line);
	border-radius: 10px;
}

.mt-vat-tx__trace-label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--mt-text-muted);
}

.mt-vat-tx__stage {
	font-weight: 700;
	color: color-mix(in srgb, var(--mt-accent) 78%, var(--mt-ink));
}

.mt-vat-tx__trace-note {
	grid-column: 1 / -1;
	font-size: 0.75rem;
	color: var(--mt-text-muted);
	font-style: italic;
	margin-top: 0.1rem;
}

.mt-vat-tx__ctx--stage {
	color: color-mix(in srgb, var(--mt-accent) 72%, var(--mt-ink));
	font-weight: 600;
}

.mt-vat-tx__ms {
	grid-column: 1 / -1;
	list-style: none;
	margin: 0.15rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.3rem;
}

.mt-vat-tx__ms li {
	display: grid;
	grid-template-columns: max-content 1fr max-content;
	gap: 0.6rem;
	align-items: baseline;
	padding: 0.35rem 0.6rem;
	background: color-mix(in srgb, var(--mt-ink) 3%, transparent);
	border-radius: 7px;
	font-size: 0.82rem;
}

.mt-vat-tx__ms-term {
	font-weight: 700;
	font-size: 0.75rem;
	color: color-mix(in srgb, var(--mt-accent) 75%, var(--mt-ink));
	white-space: nowrap;
}

.mt-vat-tx__ms-amt {
	font-variant-numeric: tabular-nums;
	color: var(--mt-text-muted);
	letter-spacing: 0;
}

.mt-vat-tx__parties {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.mt-vat-tx__party {
	border: 1px solid var(--mt-line);
	border-radius: 10px;
	padding: 0.8rem 0.9rem;
	display: grid;
	gap: 0.35rem;
}

.mt-vat-tx__party-role {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--mt-text-muted);
	text-transform: none;
	letter-spacing: 0.02em;
}

.mt-vat-tx__party-name {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--mt-ink);
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.mt-vat-tx__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-ink) 8%, transparent);
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
}

.mt-vat-tx__party-facts {
	margin: 0.15rem 0 0;
	display: grid;
	gap: 0.28rem;
}

.mt-vat-tx__party-facts > div {
	display: grid;
	grid-template-columns: 5.5rem 1fr;
	gap: 0.5rem;
	font-size: 0.8rem;
}

.mt-vat-tx__party-facts dt {
	color: var(--mt-text-muted);
	font-size: 0.75rem;
}

.mt-vat-tx__party-facts dd {
	margin: 0;
	color: var(--mt-ink);
}

.mt-vat-tx__party-facts dd bdi {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

.mt-vat-tx__missing {
	color: color-mix(in srgb, var(--mt-warning) 80%, var(--mt-ink));
	font-size: 0.76rem;
	font-style: italic;
}

.mt-vat-tx__ledger-ref {
	margin: 0;
	font-size: 0.73rem;
	color: var(--mt-text-muted);
	font-variant-numeric: tabular-nums;
}

@media (max-width: 620px) {
	.mt-vat-tx__amounts,
	.mt-vat-tx__parties {
		grid-template-columns: 1fr;
	}

	.mt-vat-tx__trace {
		grid-template-columns: 1fr;
	}

	.mt-vat-tx__ms li {
		grid-template-columns: 1fr max-content;
	}

	.mt-vat-tx__vat {
		margin-inline-start: 0;
	}
}

/* ops-contract-template — editable contract clauses */
.mt-contract-tpl__field {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid color-mix(in srgb, var(--mt-border, #e2e2e2) 100%, transparent);
	border-radius: 10px;
	padding: 0.9rem 1rem 1rem;
	margin: 0 0 1rem;
	background: color-mix(in srgb, var(--mt-surface, #fff) 92%, var(--mt-border, #e2e2e2));
}

.mt-contract-tpl__field > legend {
	padding: 0 0.4rem;
	font-size: 0.95rem;
}

.mt-contract-tpl__field textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: inherit;
	line-height: 1.9;
	resize: vertical;
}

.mt-contract-tpl__field > details {
	margin-top: 0.6rem;
}

.mt-contract-tpl__field > details > summary {
	cursor: pointer;
}

.mt-contract-tpl__field > details > pre {
	white-space: pre-wrap;
	background: color-mix(in srgb, var(--mt-surface, #fff) 78%, var(--mt-border, #e2e2e2));
	padding: 0.6rem 0.75rem;
	border-radius: 8px;
	margin-top: 0.4rem;
	font-family: inherit;
	line-height: 1.8;
}

/* ops-design-stats — ranked top-lists + tidier tables */
.mt-table--ranked th.mt-ds-rank-col,
.mt-table--ranked td:first-child {
	width: 3.25rem;
	text-align: center;
}

.mt-ds-rank {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
	height: 1.75rem;
	padding: 0 0.35rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.85rem;
	font-variant-numeric: tabular-nums;
	background: color-mix(in srgb, var(--mt-border, #e2e2e2) 55%, transparent);
	color: color-mix(in srgb, var(--mt-ink, #0a1018) 80%, transparent);
}

.mt-ds-rank--1 {
	background: color-mix(in srgb, #f5b301 30%, var(--mt-surface, #fff));
	color: color-mix(in srgb, #7a5900 90%, var(--mt-ink, #0a1018));
}

.mt-ds-rank--2 {
	background: color-mix(in srgb, #9aa7b4 32%, var(--mt-surface, #fff));
	color: color-mix(in srgb, #3f4b57 90%, var(--mt-ink, #0a1018));
}

.mt-ds-rank--3 {
	background: color-mix(in srgb, #cd7f32 28%, var(--mt-surface, #fff));
	color: color-mix(in srgb, #7a4a17 90%, var(--mt-ink, #0a1018));
}

.mt-ds-toplist .mt-table td,
.mt-ds-catalog .mt-table td,
.mt-ds-listings .mt-table td {
	vertical-align: middle;
}

/* ops-finance-report — "محاسبات مالی سطح عضویت" table */
.mt-ms-rev__table th,
.mt-ms-rev__table td {
	vertical-align: middle;
	text-align: center;
}

.mt-ms-rev__table th:nth-child(1),
.mt-ms-rev__table td.mt-ms-rev__panel {
	text-align: start;
}

.mt-ms-rev__panel {
	font-weight: 700;
	background: color-mix(in srgb, var(--mt-accent, #0e7490) 6%, var(--mt-surface, #fff));
}

.mt-ms-rev__group-start > td:not(.mt-ms-rev__panel) {
	border-top: 1px solid var(--mt-border, #e2e2e2);
}

.mt-badge.mt-ms-rev__tier--plus {
	background: color-mix(in srgb, var(--mt-accent, #0e7490) 16%, transparent);
	color: color-mix(in srgb, var(--mt-accent-deep, #0e7490) 92%, var(--mt-ink, #0a1018));
}

.mt-badge.mt-ms-rev__tier--pro {
	background: color-mix(in srgb, var(--mt-success, #0f766e) 18%, transparent);
	color: color-mix(in srgb, var(--mt-success, #0f766e) 88%, var(--mt-ink, #0a1018));
}

.mt-ms-rev__split {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.mt-ms-rev__paid {
	color: var(--mt-success, #0f766e);
	font-weight: 700;
}

.mt-ms-rev__comp {
	color: var(--mt-warning, #b45309);
	font-weight: 700;
}

.mt-ms-rev__sep {
	color: var(--mt-text-muted, #3d4f63);
	margin: 0 0.15rem;
}

.mt-ms-rev__total td {
	background: color-mix(in srgb, var(--mt-accent, #0e7490) 8%, var(--mt-surface, #fff));
	border-top: 2px solid color-mix(in srgb, var(--mt-accent, #0e7490) 35%, var(--mt-border, #e2e2e2));
}

.mt-ms-rev__table td[dir="ltr"] {
	font-variant-numeric: tabular-nums;
}

/* ops-settings — "درگاه‌های پرداخت" (payment gateways console) */

.mt-pg-switch {
	position: relative;
	flex-shrink: 0;
	display: inline-flex;
	width: 2.6rem;
	height: 1.5rem;
	cursor: pointer;
}

.mt-pg-switch input {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
	/* Neutralize the browser's native checkbox box model (a fixed intrinsic size in some
	   engines) so it can't fight the absolute inset:0 sizing above and throw off the knob math. */
	appearance: none;
	-webkit-appearance: none;
}

.mt-pg-switch__track {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--mt-text-muted) 28%, transparent);
	transition: background 0.16s ease;
}

.mt-pg-switch__track::before {
	content: "";
	position: absolute;
	top: 0.16rem;
	inset-inline-start: 0.16rem;
	width: 1.18rem;
	height: 1.18rem;
	border-radius: 50%;
	background: var(--mt-panel, #fff);
	box-shadow: 0 1px 2px rgba(10, 16, 24, 0.35);
	/* Animate via the logical inset itself (not transform/translateX) — a physical-axis
	   transform doesn't flip with inset-inline-start in RTL, which is what pushed the knob
	   past the track's edge. Moving the logical offset instead stays correct in both directions. */
	transition: inset-inline-start 0.16s ease;
}

.mt-pg-switch input:checked ~ .mt-pg-switch__track {
	background: var(--mt-accent);
}

.mt-pg-switch input:checked ~ .mt-pg-switch__track::before {
	inset-inline-start: calc(100% - 1.18rem - 0.16rem);
}

.mt-pg-switch input:focus-visible ~ .mt-pg-switch__track {
	outline: 2px solid var(--mt-accent);
	outline-offset: 2px;
}

.mt-pg-preview {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	padding: 0.95rem 1.1rem;
	margin-bottom: 1.1rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.85rem;
	background: var(--mt-panel-2);
	cursor: pointer;
	transition: border-color 0.14s ease, background 0.14s ease;
}

.mt-pg-preview:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 40%, var(--mt-line));
}

.mt-pg-preview.is-on {
	border-color: color-mix(in srgb, var(--mt-warning) 45%, var(--mt-line));
	background: color-mix(in srgb, var(--mt-warning) 8%, var(--mt-panel-2));
}

.mt-pg-preview .mt-pg-switch {
	margin-top: 0.1rem;
}

.mt-pg-preview__body {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.mt-pg-preview__body strong {
	font-size: 0.9rem;
	color: var(--mt-ink);
}

.mt-pg-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1rem;
	margin: 0.25rem 0 1.25rem;
}

.mt-pg-card {
	--pg-tint: var(--mt-accent);
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: 1.1rem 1.15rem 1.2rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.9rem;
	background: var(--mt-panel-2);
	transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.mt-pg-card.is-live {
	border-color: color-mix(in srgb, var(--pg-tint) 45%, var(--mt-line));
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--pg-tint) 16%, transparent) inset;
}

.mt-pg-card.is-incomplete {
	border-color: color-mix(in srgb, var(--mt-warning) 45%, var(--mt-line));
}

.mt-pg-card__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.mt-pg-card__mark {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.7rem;
	height: 2.7rem;
	border-radius: 0.65rem;
	background: color-mix(in srgb, var(--pg-tint) 16%, var(--mt-panel));
	color: color-mix(in srgb, var(--pg-tint) 82%, var(--mt-ink));
	font-weight: 700;
	font-size: 1.05rem;
	font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.mt-pg-card.is-off .mt-pg-card__mark {
	opacity: 0.55;
}

.mt-pg-card__mark--logo {
	background: #fff;
	padding: 0.4rem;
}

.mt-pg-card__mark--logo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.mt-pg-card__heading {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.mt-pg-card__title {
	font-size: 0.92rem;
	color: var(--mt-ink);
}

.mt-pg-card__status {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}

.mt-pg-card__status-dot {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--mt-text-muted);
	flex-shrink: 0;
}

.mt-pg-card.is-live .mt-pg-card__status {
	color: var(--mt-success);
}

.mt-pg-card.is-live .mt-pg-card__status-dot {
	background: var(--mt-success);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mt-success) 22%, transparent);
}

.mt-pg-card.is-incomplete .mt-pg-card__status {
	color: var(--mt-warning);
}

.mt-pg-card.is-incomplete .mt-pg-card__status-dot {
	background: var(--mt-warning);
}

.mt-pg-card__toggle {
	margin-inline-start: auto;
}

.mt-pg-card__fields {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.mt-pg-field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.mt-pg-field__label {
	display: flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.76rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}

.mt-pg-field__set {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--mt-success) 20%, transparent);
	color: var(--mt-success);
	font-size: 0.62rem;
	line-height: 1;
}

.mt-pg-field input {
	width: 100%;
	box-sizing: border-box;
}

.mt-pg-card__note {
	margin: 0;
	padding: 0.5rem 0.7rem;
	border-radius: 0.55rem;
	font-size: 0.76rem;
	line-height: 1.6;
}

.mt-pg-card__note.is-warn {
	background: color-mix(in srgb, var(--mt-warning) 12%, transparent);
	color: color-mix(in srgb, var(--mt-warning) 88%, var(--mt-ink));
}

.mt-pg-card__note.is-ok {
	background: color-mix(in srgb, var(--mt-success) 10%, transparent);
	color: color-mix(in srgb, var(--mt-success) 85%, var(--mt-ink));
}

/* ops-settings — "قوانین و مقررات پلتفرم" version history peek */
.mt-terms-version-peek > summary {
	cursor: pointer;
	color: var(--mt-accent);
	font-size: 0.8rem;
	font-weight: 600;
}

/* دفترچه راهنمای پلتفرم — staff handbook */
.mt-handbook__search-panel .mt-vat-tx__search {
	margin: 0;
}

.mt-handbook__results {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.mt-handbook__result {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: 0.85rem 1rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.7rem;
	background: var(--mt-panel-2);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.14s ease, background 0.14s ease;
}

.mt-handbook__result:hover {
	border-color: color-mix(in srgb, var(--mt-accent) 45%, var(--mt-line));
	background: color-mix(in srgb, var(--mt-accent) 5%, var(--mt-panel-2));
}

.mt-handbook__result-cat {
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--mt-accent);
}

.mt-handbook__result-title {
	font-size: 0.95rem;
	color: var(--mt-ink);
}

.mt-handbook__result-snippet {
	font-size: 0.82rem;
	line-height: 1.75;
	color: var(--mt-text-muted);
}

.mt-handbook__result-snippet mark {
	background: color-mix(in srgb, var(--mt-warning) 35%, transparent);
	color: var(--mt-ink);
	border-radius: 0.2rem;
	padding: 0 0.12rem;
}

.mt-handbook__toc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem 1.5rem;
}

.mt-handbook__toc-group {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.mt-handbook__toc-cat {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--mt-ink);
	text-decoration: none;
	padding-bottom: 0.3rem;
	border-bottom: 1px solid var(--mt-line);
}

.mt-handbook__toc-cat:hover {
	color: var(--mt-accent);
}

.mt-handbook__toc-group ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.mt-handbook__toc-group li a {
	font-size: 0.82rem;
	color: var(--mt-accent);
	text-decoration: none;
}

.mt-handbook__toc-group li a:hover {
	text-decoration: underline;
}

.mt-handbook__category {
	scroll-margin-top: calc(var(--mt-header-h, 4.75rem) + 1rem);
}

.mt-handbook__article {
	padding-block: 1.1rem;
	border-top: 1px solid var(--mt-line);
	scroll-margin-top: calc(var(--mt-header-h, 4.75rem) + 1rem);
}

.mt-handbook__article:first-of-type {
	border-top: none;
	padding-top: 0.3rem;
}

.mt-handbook__article > h3 {
	margin: 0 0 0.6rem;
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--mt-ink);
}

.mt-handbook__article-body p {
	margin: 0 0 0.85rem;
	line-height: 1.9;
	font-size: 0.9rem;
	color: var(--mt-text-muted);
	text-align: justify;
}

.mt-handbook__article-body p:last-child {
	margin-bottom: 0;
}

/* ops-notification-texts — collapsible groups + per-type accordion so the page stops being one
   giant scroll of 30 always-open fieldsets. */
.mt-notify-texts__group {
	margin-bottom: 0.85rem;
	background: var(--mt-panel-2);
}

.mt-notify-texts__group:last-of-type {
	margin-bottom: 0;
}

.mt-notify-texts__count {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
	flex-shrink: 0;
}

.mt-notify-texts__item {
	border: 1px solid var(--mt-border, var(--mt-line));
	border-radius: 8px;
	margin-bottom: 0.65rem;
	background: var(--mt-panel);
	overflow: hidden;
}

.mt-notify-texts__item:last-child {
	margin-bottom: 0;
}

.mt-notify-texts__item > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0.65rem 0.85rem;
	user-select: none;
}

.mt-notify-texts__item > summary::-webkit-details-marker {
	display: none;
}

.mt-notify-texts__item > summary::before {
	content: "";
	flex: 0 0 auto;
	width: 0.45rem;
	height: 0.45rem;
	margin-inline-start: auto;
	border-inline-end: 2px solid var(--mt-text-muted);
	border-block-end: 2px solid var(--mt-text-muted);
	transform: rotate(45deg);
	transition: transform 0.18s var(--mt-ease, ease);
	order: 99;
}

.mt-notify-texts__item[open] > summary::before {
	transform: rotate(-135deg);
}

.mt-notify-texts__item > summary code {
	font-size: 0.76rem;
	color: var(--mt-text-muted);
	direction: ltr;
}

.mt-notify-texts__item-body {
	padding: 0 0.85rem 0.9rem;
	border-top: 1px dashed var(--mt-border, var(--mt-line));
	padding-top: 0.75rem;
}

/* ---------------------------------------------------------------------------------------------
 * "آمار بازدید سایت" (ops-visits) — hero range-picker, trend chart panel, and the shared
 * ranked-bar-list component used by every breakdown card (top pages/countries/cities/referrers,
 * device/browser/OS). One visual language for all seven lists instead of a mix of plain tables.
 * ------------------------------------------------------------------------------------------- */

.mt-visits-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.25rem;
}

.mt-visits-hero > p {
	flex: 1 1 320px;
}

.mt-visits-hero__range {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
	margin: 0;
}

.mt-visits-hero__range label {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	font-size: 0.78rem;
	color: var(--mt-text-muted);
}

.mt-visits-hero__range input[type="text"] {
	min-width: 9.5rem;
}

.mt-visits-trend__chart {
	margin-top: 1.5rem;
	height: 260px;
	max-height: 260px;
}

.mt-visits-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
	margin-top: 1.1rem;
	align-items: start;
}

.mt-visits-grid__span-2 {
	grid-column: 1 / -1;
}

.mt-visits-visitors {
	margin-top: 1.1rem;
}

.mt-visits-visitors h2 {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.98rem;
	margin: 0 0 0.9rem;
}

@media (max-width: 900px) {
	.mt-visits-grid {
		grid-template-columns: 1fr;
	}
}

.mt-visits-grid .mt-panel h2 {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.98rem;
	margin: 0 0 0.9rem;
}

.mt-visits-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 0.6rem;
	background: color-mix(in srgb, var(--mt-accent) 12%, transparent);
	font-size: 1.02rem;
	flex: none;
}

.mt-visits-rank {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.mt-visits-rank--scroll {
	max-height: 320px;
	overflow-y: auto;
	overflow-x: hidden;
	padding-inline-end: 0.4rem;
	scrollbar-width: thin;
}

.mt-visits-rank--scroll::-webkit-scrollbar {
	width: 6px;
}

.mt-visits-rank--scroll::-webkit-scrollbar-track {
	background: transparent;
}

.mt-visits-rank--scroll::-webkit-scrollbar-thumb {
	background: var(--mt-mist);
	border-radius: 999px;
}

.mt-visits-rank--scroll::-webkit-scrollbar-thumb:hover {
	background: var(--mt-text-muted);
}

.mt-visits-rank__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 6.5rem auto;
	align-items: center;
	gap: 0.75rem;
	padding: 0.4rem 0;
	border-bottom: 1px solid var(--mt-line);
}

.mt-visits-rank__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.mt-visits-rank__label {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	font-size: 0.86rem;
}

.mt-visits-rank__label a,
.mt-visits-rank__label span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--mt-ink);
	font-weight: 600;
}

.mt-visits-rank__label a {
	text-decoration: none;
}

.mt-visits-rank__label a:hover {
	color: var(--mt-accent);
	text-decoration: underline;
}

.mt-visits-rank__label small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.72rem;
	color: var(--mt-text-muted);
	opacity: 0.85;
}

.mt-visits-rank__bar-track {
	position: relative;
	height: 0.4rem;
	border-radius: 999px;
	background: var(--mt-surface);
	overflow: hidden;
}

.mt-visits-rank__bar-fill {
	position: absolute;
	inset-block: 0;
	inset-inline-start: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--mt-accent), var(--mt-accent-deep));
	transition: width 0.35s var(--mt-ease, ease);
}

.mt-visits-rank__count {
	min-width: 3rem;
	text-align: end;
	font-variant-numeric: tabular-nums;
	font-size: 0.86rem;
	color: var(--mt-ink);
}

@media (max-width: 560px) {
	.mt-visits-rank__row {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"label count"
			"bar bar";
		row-gap: 0.3rem;
	}
	.mt-visits-rank__label { grid-area: label; }
	.mt-visits-rank__count { grid-area: count; }
	.mt-visits-rank__bar-track { grid-area: bar; }
}

.mt-deploy__form {
	display: grid;
	gap: 1rem;
	width: 100%;
	max-width: 26rem;
	margin: 1.5rem auto;
	text-align: center;
}
.mt-deploy__form label {
	display: grid;
	gap: 0.4rem;
	justify-items: center;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mt-text-muted);
}
.mt-deploy__form input[type="text"],
.mt-deploy__form textarea,
.mt-deploy__form input[type="file"] {
	width: 100%;
	font: inherit;
	font-size: 0.88rem;
	font-weight: 400;
	color: var(--mt-ink);
	padding: 0.6rem 0.85rem;
	border: 1px solid var(--mt-line);
	border-radius: 0.65rem;
	background: var(--mt-panel);
	text-align: center;
}
.mt-deploy__form textarea {
	resize: vertical;
}
.mt-deploy__form input[type="text"]:focus,
.mt-deploy__form textarea:focus {
	outline: none;
	border-color: var(--mt-success);
	box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
}
.mt-deploy__form button[type="submit"] {
	justify-self: center;
	min-width: 12rem;
}
.mt-deploy__history-title {
	margin-top: 1.5rem;
}
.mt-deploy__verified {
	display: inline-flex;
	vertical-align: middle;
	margin-inline-start: 0.3rem;
	color: var(--mt-success, #0f766e);
}
.mt-deploy__unverified {
	display: inline-flex;
	vertical-align: middle;
	margin-inline-start: 0.3rem;
	color: var(--mt-danger, #b91c1c);
	cursor: help;
}

.mt-broadcast-form {
	width: 100%;
}
.mt-broadcast-mode {
	display: flex;
	gap: 0.5rem;
	margin: 0.5rem 0 1rem;
}
.mt-broadcast-mode .mt-btn.is-active {
	background: var(--mt-accent);
	color: var(--mt-on-accent);
	border-color: var(--mt-accent);
}
.mt-broadcast-filters {
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	padding: 1rem;
	margin: 0 0 1rem;
}
.mt-broadcast-filters__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: 0.85rem;
	align-items: end;
}
/* IranCities::render_fields() emits ONE .mt-iran-city wrapper holding both the province and city
   label+select pairs — as a single grid child it would occupy one wide track instead of lining up
   with the single-field columns around it (each of which is its own <label>). Spanning it across 2
   columns and giving it the same 2-column layout internally makes both selects sit at the exact
   width/position two sibling single-field columns would, instead of stacking full-width. */
.mt-broadcast-filters__grid > .mt-iran-city {
	grid-column: span 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 0.85rem;
	row-gap: 0;
	align-items: end;
}
.mt-broadcast-filters__grid > .mt-iran-city label {
	grid-row: 1;
}
.mt-broadcast-filters__grid > .mt-iran-city select {
	grid-row: 2;
}
@media (max-width: 640px) {
	.mt-broadcast-filters__grid > .mt-iran-city {
		grid-column: span 1;
		grid-template-columns: 1fr;
	}
}
.mt-broadcast-filters__range-inputs {
	display: flex;
	gap: 0.5rem;
}
.mt-broadcast-filters__range-inputs input {
	width: 100%;
}
#mt-broadcast-preview-count {
	margin: 0.75rem 0 0.5rem;
	font-weight: 600;
}
.mt-broadcast-manual {
	border: 1px solid var(--mt-line);
	border-radius: 0.75rem;
	padding: 1rem;
	margin: 0 0 1rem;
}
.mt-broadcast-user-results {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0.25rem 0;
	max-height: 14rem;
	overflow-y: auto;
	border: 1px solid var(--mt-line);
	border-radius: 0.5rem;
	background: var(--mt-panel);
}
.mt-broadcast-user-results button {
	display: block;
	width: 100%;
	text-align: start;
	border: 0;
	background: transparent;
	padding: 0.5rem 0.75rem;
	font: inherit;
	font-size: 0.85rem;
	color: var(--mt-ink);
	cursor: pointer;
}
.mt-broadcast-user-results button:hover {
	background: color-mix(in srgb, var(--mt-accent) 8%, transparent);
}
.mt-broadcast-user-selected {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0.35rem 0 0;
	padding: 0;
}
