.mf-overlay,
.mf-overlay *{
	box-sizing:border-box;
}

.mf-overlay{
	position:fixed;
	inset:0;
	background:rgba(15,61,110,0.55);
	display:none;
	align-items:center;
	justify-content:center;
	padding:20px;
	z-index:99999;
	font-family:'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.mf-overlay.is-open{ display:flex; }

.mf-modal{
	position:relative;
	width:100%;
	max-width:420px;
	background:#fff;
	border-radius:16px;
	padding:36px 32px 28px;
	box-shadow:0 20px 50px rgba(15,61,110,0.25);
	animation:mf-pop .18s ease-out;
	max-height:92vh;
	overflow-y:auto;
}
@keyframes mf-pop{
	from{ opacity:0; transform:translateY(8px) scale(.98); }
	to{ opacity:1; transform:translateY(0) scale(1); }
}

.mf-close{
	position:absolute;
	top:16px;
	right:16px;
	width:32px;
	height:32px;
	border:none;
	background:#F6F6F6;
	border-radius:8px;
	color:#65707D;
	font-size:15px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background .15s ease, color .15s ease;
}
.mf-close:hover{ background:#E9EBEE; color:#1D2530; }

.mf-title{
	font-weight:600;
	font-size:22px;
	color:#1D2530;
	margin:0 0 22px;
}
.mf-subtitle{
	font-weight:400;
	font-size:14px;
	color:#65707D;
	margin:0 0 18px;
	line-height:1.5;
}

.mf-alert{
	display:none;
	font-size:13px;
	font-weight:500;
	padding:10px 12px;
	border-radius:8px;
	margin-bottom:16px;
	line-height:1.4;
}
.mf-alert.is-error{
	display:block;
	background:#FBEAEA;
	color:#B23030;
	border:1px solid #F0C6C6;
}
.mf-alert.is-success{
	display:block;
	background:#E7F3EF;
	color:#0F6E56;
	border:1px solid #BEE0D3;
}

.mf-field{ margin-bottom:16px; }
.mf-label{
	display:block;
	font-weight:500;
	font-size:13px;
	color:#1D2530;
	margin-bottom:6px;
}
.mf-input-wrap{ position:relative; }
.mf-input{
	width:100%;
	font-family:inherit;
	font-size:14px;
	color:#1D2530;
	background:#F6F6F6;
	border:1.5px solid transparent;
	border-radius:9px;
	padding:12px 14px;
	outline:none;
	transition:border-color .15s ease, background .15s ease;
}
.mf-input::placeholder{ color:#9AA4B0; }
.mf-input:focus{
	background:#fff;
	border-color:#0274BE;
	box-shadow:0 0 0 3px rgba(2,116,190,0.12);
}
.mf-input.is-error{ border-color:#D14343; }

.mf-toggle-pass{
	position:absolute;
	right:12px;
	top:50%;
	transform:translateY(-50%);
	background:none;
	border:none;
	font-size:12px;
	font-weight:500;
	color:#0274BE;
	cursor:pointer;
	padding:4px;
}

.mf-error-msg{
	font-size:12px;
	color:#D14343;
	margin-top:6px;
	display:none;
}
.mf-error-msg.is-visible{ display:block; }

.mf-row-between{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:2px 0 22px;
	flex-wrap:wrap;
	gap:8px;
}
.mf-remember{
	display:flex;
	align-items:center;
	gap:7px;
	font-size:13px;
	color:#65707D;
	cursor:pointer;
	user-select:none;
}
.mf-remember input{
	accent-color:#0274BE;
	width:15px;
	height:15px;
	cursor:pointer;
}
.mf-forgot-link{
	font-size:13px;
	font-weight:500;
	color:#0274BE;
	text-decoration:none;
}
.mf-forgot-link:hover{ text-decoration:underline; }

.mf-submit{
	width:100%;
	font-family:inherit;
	font-weight:700;
	font-size:15px;
	color:#fff;
	background:#0274BE;
	border:none;
	padding:14px;
	border-radius:999px;
	cursor:pointer;
	transition:background .15s ease, transform .05s ease, opacity .15s ease;
}
.mf-submit:hover{ background:#0F3D6E; }
.mf-submit:active{ transform:scale(.99); }
.mf-submit:disabled{ opacity:.65; cursor:default; transform:none; }

.mf-divider{
	display:flex;
	align-items:center;
	gap:12px;
	margin:22px 0;
}
.mf-divider::before, .mf-divider::after{
	content:'';
	flex:1;
	height:1px;
	background:#E4E7EC;
}
.mf-divider span{
	font-size:12px;
	color:#65707D;
}

.mf-signup{
	text-align:center;
	font-size:14px;
	color:#65707D;
	margin:0;
}
.mf-signup a{
	color:#E0A43B;
	font-weight:600;
	text-decoration:none;
}
.mf-signup a:hover{ text-decoration:underline; }

@media (max-width:480px){
	.mf-modal{ padding:28px 22px 22px; }
}
