#mth-access-app, #mth-access-app * { box-sizing: border-box; }
.mth-access-badge {
	position: fixed; right: 18px; bottom: 18px; z-index: 999990;
	display: flex; align-items: center; gap: 8px; padding: 10px 14px;
	border-radius: 999px; background: #161a22; color: #fff;
	font: 600 13px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	box-shadow: 0 10px 35px rgba(0,0,0,.22);
}
.mth-dot { width: 8px; height: 8px; border-radius: 50%; background: #41d18c; box-shadow: 0 0 0 4px rgba(65,209,140,.15); }
.mth-access-modal[hidden], .mth-panel:not(.is-active), [hidden] { display: none !important; }
.mth-access-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 18px; }
.mth-access-backdrop { position: absolute; inset: 0; background: rgba(10,14,24,.72); backdrop-filter: blur(5px); }
.mth-access-card {
	position: relative; width: min(100%, 470px); max-height: calc(100vh - 36px); overflow: auto;
	border-radius: 24px; background: #fff; padding: 30px; color: #182033;
	box-shadow: 0 28px 90px rgba(0,0,0,.38);
	font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.mth-access-card h2 { margin: 12px 0 8px; font-size: clamp(25px,4vw,34px); line-height: 1.1; color: #111827; }
.mth-access-card p { color: #5a6477; line-height: 1.55; }
.mth-modal-close {
	position: absolute; top: 13px; right: 15px; border: 0; background: #f0f2f7; color: #334155;
	width: 34px; height: 34px; border-radius: 50%; font-size: 24px; cursor: pointer; line-height: 1;
}
.mth-brand-chip { display: inline-flex; border-radius: 999px; padding: 7px 10px; background: #ecfdf5; color: #087f5b; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.mth-prime-chip { background: #fff4d5; color: #956000; }
.mth-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; margin: 22px 0 16px; background: #f0f2f6; border-radius: 12px; }
.mth-tab { border: 0; border-radius: 9px; padding: 10px; background: transparent; cursor: pointer; font-weight: 700; color: #667085; }
.mth-tab.is-active { background: #fff; color: #111827; box-shadow: 0 3px 12px rgba(0,0,0,.08); }
.mth-panel label { display: block; margin: 12px 0; color: #344054; font-size: 13px; font-weight: 700; }
.mth-panel input {
	display: block; width: 100%; height: 46px; margin-top: 6px; border: 1px solid #d5dae3;
	border-radius: 11px; padding: 0 13px; font-size: 15px; outline: none; background: #fff; color: #111827;
}
.mth-panel input:focus { border-color: #6941c6; box-shadow: 0 0 0 3px rgba(105,65,198,.12); }
.mth-primary {
	display: block; width: 100%; margin-top: 17px; border: 0; border-radius: 12px; padding: 14px 17px;
	background: linear-gradient(135deg,#6941c6,#7f56d9); color: #fff !important; text-align: center;
	font-weight: 800; font-size: 15px; cursor: pointer; text-decoration: none !important;
	box-shadow: 0 10px 25px rgba(105,65,198,.24);
}
.mth-primary:disabled { opacity: .6; cursor: wait; }
.mth-link-button { margin-top: 22px; }
.mth-text-button { display: block; margin: 15px auto 0; border: 0; background: transparent; color: #667085; text-decoration: underline; cursor: pointer; }
.mth-form-message { min-height: 20px; margin-top: 12px; font-size: 13px; font-weight: 700; }
.mth-form-message.is-error { color: #b42318; }
.mth-form-message.is-success { color: #067647; }
.mth-benefits { margin: 20px 0; padding: 0; list-style: none; }
.mth-benefits li { position: relative; padding: 8px 0 8px 29px; color: #344054; font-weight: 650; }
.mth-benefits li::before { content: "✓"; position: absolute; left: 0; top: 7px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #ecfdf3; color: #067647; font-weight: 900; }
.mth-reset-note { text-align: center; font-size: 12px; margin-bottom: 0; }
html.mth-access-locked, html.mth-access-locked body { overflow: hidden !important; }
.mth-status-box { border: 1px solid #e4e7ec; border-radius: 14px; padding: 18px; background: #fff; }
@media (max-width: 520px) {
	.mth-access-card { padding: 24px 18px; border-radius: 20px; }
	.mth-access-badge { right: 10px; bottom: 10px; }
}