:root {
	--msh-choice-green: #174d35;
	--msh-choice-green-deep: #0f3826;
	--msh-choice-gold: #c99b4c;
	--msh-choice-cream: #f8f4eb;
	--msh-choice-line: #e7ddcc;
	--msh-choice-ease: cubic-bezier(.22, 1, .36, 1);
}

.msh-choice-open { overflow: hidden; }
.msh-account-choice[hidden] { display: none !important; }
.msh-account-choice {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	padding: 24px;
	place-items: center;
	opacity: 0;
	transition: opacity 240ms ease;
}
.msh-account-choice.is-visible { opacity: 1; }
.msh-account-choice__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(7, 25, 17, .62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}
.msh-account-choice__sheet {
	position: relative;
	width: min(650px, 100%);
	max-height: calc(100vh - 48px);
	padding: 38px 44px 32px;
	overflow: auto;
	border: 1px solid rgba(201, 155, 76, .42);
	border-radius: 28px;
	background:
		radial-gradient(circle at 90% 0, rgba(201, 155, 76, .11), transparent 34%),
		#fffdf9;
	box-shadow: 0 34px 100px rgba(4, 29, 19, .28);
	transform: translateY(20px) scale(.975);
	transition: transform 300ms var(--msh-choice-ease);
}
.msh-account-choice.is-visible .msh-account-choice__sheet { transform: none; }
.msh-account-choice__close {
	position: absolute;
	top: 14px;
	left: 18px;
	z-index: 2;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(23, 77, 53, .07);
	color: #516058;
	font-size: 29px;
	line-height: 1;
	cursor: pointer;
}

.msh-choice-content {
	color: #213129;
	text-align: center;
}
.msh-brand-logo {
	display: inline-flex;
	max-width: 185px;
	max-height: 70px;
	color: var(--msh-choice-gold);
	text-decoration: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.msh-brand-logo img { display: block; width: auto; max-width: 100%; height: auto; max-height: 70px; object-fit: contain; }
.msh-brand-logo__seal { display: grid; width: 42px; height: 46px; color: var(--msh-choice-gold); place-items: center; }
.msh-brand-logo__seal svg { width: 100%; height: 100%; }
.msh-brand-logo__word { color: var(--msh-choice-green); font-size: 25px; font-weight: 900; }
.msh-choice-brand {
	display: flex;
	min-height: 66px;
	align-items: center;
	justify-content: center;
}
.msh-choice-brand .msh-brand-logo { max-width: 178px; }
.msh-choice-content h2 {
	margin: 14px 0 5px;
	color: var(--msh-choice-green);
	font-size: clamp(24px, 4vw, 30px);
	font-weight: 850;
}
.msh-choice-content > p {
	margin: 0 0 22px;
	color: #6d766f;
	font-size: 14px;
}
.msh-choice-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding: 6px;
	border: 1px solid var(--msh-choice-line);
	border-radius: 19px;
	background: #f4f0e7;
}
.msh-choice-tabs a {
	position: relative;
	display: grid;
	min-width: 0;
	padding: 14px 10px 12px;
	border: 1px solid transparent;
	border-radius: 14px;
	color: #68726c;
	text-decoration: none !important;
	gap: 3px;
	place-items: center;
	transition: 220ms var(--msh-choice-ease);
}
.msh-choice-tabs a > span {
	display: grid;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(23, 77, 53, .08);
	color: var(--msh-choice-green);
	place-items: center;
}
.msh-choice-tabs svg { width: 20px; height: 20px; }
.msh-choice-tabs strong { color: inherit; font-size: 15px; font-weight: 850; }
.msh-choice-tabs small { color: inherit; font-size: 10px; opacity: .82; }
.msh-choice-tabs a.is-active {
	border-color: rgba(201, 155, 76, .38);
	background: #fff;
	color: var(--msh-choice-green);
	box-shadow: 0 8px 22px rgba(23, 77, 53, .09);
	transform: translateY(-1px);
}
.msh-choice-tabs a.is-active > span {
	background: linear-gradient(145deg, var(--msh-choice-green), var(--msh-choice-green-deep));
	color: #fff;
	box-shadow: 0 5px 13px rgba(23, 77, 53, .22);
}
.msh-choice-form {
	margin-top: 16px;
	padding: 18px;
	border: 1px solid var(--msh-choice-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .86);
	text-align: right;
}
.msh-choice-form.is-switching { animation: msh-choice-form-in 320ms var(--msh-choice-ease); }
.msh-choice-form__head {
	display: flex;
	margin-bottom: 12px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.msh-choice-form__head strong { color: var(--msh-choice-green); font-size: 15px; }
.msh-choice-form__head small { color: #7a817c; font-size: 10px; }
.msh-choice-form :is(input, select) {
	min-height: 48px;
	border: 1px solid #dcd6ca !important;
	border-radius: 12px !important;
	background: #fff !important;
}
.msh-choice-form button[type="submit"],
.msh-choice-form input[type="submit"],
.msh-choice-continue {
	display: flex;
	width: 100%;
	min-height: 49px;
	margin-top: 9px;
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, var(--msh-choice-green), var(--msh-choice-green-deep)) !important;
	color: #fff !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 22px rgba(23, 77, 53, .18);
}
.msh-choice-continue { margin-top: 17px; }
.msh-choice-trust {
	display: flex;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--msh-choice-line);
	color: #647068;
	font-size: 11px;
	justify-content: center;
	gap: 24px;
}
.msh-choice-trust span::before { margin-left: 5px; color: var(--msh-choice-gold); content: "✓"; }

.msh-manager {
	max-width: 1500px;
	margin: 30px auto;
	padding: 28px;
	color: #173f2a;
}
.msh-manager > header {
	display: flex;
	margin-bottom: 24px;
	align-items: center;
	justify-content: space-between;
}
.msh-manager h1, .msh-manager h2 { color: #0f5138; }
.msh-manager > header a, .msh-manager__more, .msh-manager-denied a, .msh-manager__actions a {
	padding: 12px 22px;
	border-radius: 10px;
	background: #0f5138;
	color: #fff !important;
	text-decoration: none;
}
.msh-manager__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.msh-manager__stats > div, .msh-manager__grid > section {
	padding: 24px;
	border: 1px solid var(--msh-choice-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 22px rgba(23, 63, 42, .05);
}
.msh-manager__stats small { display: block; color: #646e68; }
.msh-manager__stats strong { display: block; margin-top: 12px; color: #0f5138; font-size: 30px; }
.msh-manager__actions { display: flex; margin: 18px 0; gap: 10px; }
.msh-manager__actions a + a { border: 1px solid #0f5138; background: transparent; color: #0f5138 !important; }
.msh-manager__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.msh-manager__table { overflow: auto; }
.msh-manager table { width: 100%; margin: 15px 0; border-collapse: collapse; }
.msh-manager th, .msh-manager td { padding: 13px; border-bottom: 1px solid var(--msh-choice-line); text-align: right; }
.msh-manager-denied {
	max-width: 560px;
	margin: 70px auto;
	padding: 40px;
	border: 1px solid var(--msh-choice-line);
	border-radius: 18px;
	background: #fff;
	text-align: center;
}

@keyframes msh-choice-form-in {
	from { opacity: .45; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}

@media (max-width: 849px) {
	.msh-account-choice { padding: 0; align-items: end; }
	.msh-account-choice__sheet {
		width: 100%;
		max-height: calc(100vh - 86px);
		padding: 27px 15px 20px;
		border-radius: 27px 27px 0 0;
		transform: translateY(100%);
	}
	.msh-choice-brand { min-height: 53px; }
	.msh-choice-brand .msh-brand-logo { max-width: 145px; max-height: 52px; }
	.msh-choice-content h2 { margin-top: 7px; font-size: 23px; }
	.msh-choice-content > p { margin-bottom: 15px; font-size: 12px; }
	.msh-choice-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
	.msh-choice-tabs a { padding: 9px 4px 8px; }
	.msh-choice-tabs a > span { width: 28px; height: 28px; }
	.msh-choice-tabs strong { font-size: 12px; }
	.msh-choice-tabs small { display: none; }
	.msh-choice-form { margin-top: 10px; padding: 13px; }
	.msh-choice-form__head { align-items: flex-start; flex-direction: column; gap: 2px; }
	.msh-choice-trust { margin-top: 13px; padding-top: 12px; gap: 11px; font-size: 9px; }
	.msh-manager { padding: 14px; }
	.msh-manager > header { align-items: flex-start; gap: 15px; }
	.msh-manager__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.msh-manager__grid { grid-template-columns: 1fr; }
	.msh-manager__actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	.msh-account-choice, .msh-account-choice__sheet, .msh-choice-tabs a, .msh-choice-form {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}
