@charset "utf-8";
/* ========================================
   Suifeel Partner Login - PC
======================================== */

.PartnerLoginPage{
	width:100%;
	background:#fff;
	color:#0D0B2B;
	overflow:hidden;
}

.PartnerLoginContainer{
	width:100%;
	max-width:1180px;
	margin:0 auto;
	padding:0 40px;
	box-sizing:border-box;
}

.PartnerLoginSection{
	min-height:calc(100vh - 120px);
	padding:168px 0 150px;
	background:
		radial-gradient(circle at 78% 18%, rgba(123,175,203,.18) 0%, rgba(123,175,203,0) 34%),
		linear-gradient(180deg, #ffffff 0%, #f8fcfd 100%);
	box-sizing:border-box;
}

.PartnerLoginIntro{
	text-align:center;
}

.PartnerLoginTitle{
	margin:24px 0 0;
	font-size:38px;
	line-height:1.55;
	font-weight:400;
	letter-spacing:.07em;
	color:#0D0B2B;
}

.PartnerLoginLead{
	max-width:680px;
	margin:28px auto 0;
	font-size:14.5px;
	line-height:2.15;
	font-weight:400;
	letter-spacing:.04em;
	color:rgba(13,11,43,.66);
}

.PartnerLoginCard{
	position:relative;
	max-width:560px;
	margin:58px auto 0;
	padding:52px 54px 48px;
	background:rgba(255,255,255,.94);
	border:1px solid rgba(13,11,43,.07);
	border-radius:34px;
	box-shadow:0 28px 80px rgba(13,11,43,.06);
	box-sizing:border-box;
	overflow:hidden;
}

.PartnerLoginCard::before{
	content:"";
	position:absolute;
	left:50%;
	top:0;
	width:180px;
	height:3px;
	background:linear-gradient(90deg, rgba(123,175,203,0), rgba(123,175,203,.72), rgba(123,175,203,0));
	transform:translateX(-50%);
}

.PartnerLoginError{
	margin:0 0 28px;
	padding:16px 18px;
	border:1px solid rgba(185,54,54,.22);
	background:rgba(255,247,247,.92);
	color:#9E3030;
	font-size:13px;
	line-height:1.8;
	letter-spacing:.04em;
	box-sizing:border-box;
}

.PartnerLoginForm{
	margin:0;
}

.PartnerLoginField{
	margin-top:26px;
}

.PartnerLoginField:first-child{
	margin-top:0;
}

.PartnerLoginField label{
	display:block;
	margin:0 0 10px;
	font-size:13px;
	line-height:1.7;
	font-weight:600;
	letter-spacing:.055em;
	color:rgba(13,11,43,.82);
}

.PartnerLoginField input{
	width:100%;
	height:56px;
	padding:0 16px;
	border:1px solid rgba(13,11,43,.12);
	background:#fff;
	border-radius:0;
	box-sizing:border-box;
	font-size:14px;
	line-height:1.8;
	letter-spacing:.035em;
	color:#0D0B2B;
	outline:none;
	transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.PartnerLoginField input:focus{
	border-color:rgba(123,175,203,.88);
	box-shadow:0 0 0 4px rgba(123,175,203,.10);
	background:#fff;
}

.PartnerLoginField p{
	margin:12px 0 0;
	font-size:12px;
	line-height:1.9;
	letter-spacing:.035em;
	color:rgba(13,11,43,.48);
}

.PartnerLoginSubmit{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:60px;
	margin:38px 0 0;
	padding:0 34px;
	border:none;
	border-radius:999px;
	background:#0D0B2B;
	color:#fff;
	font-size:15px;
	line-height:1.6;
	font-weight:500;
	letter-spacing:.08em;
	cursor:pointer;
	transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease;
}

.PartnerLoginSubmit:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 40px rgba(13,11,43,.14);
}

.PartnerLoginLinks{
	display:flex;
	justify-content:center;
	gap:22px;
	margin-top:34px;
	padding-top:28px;
	border-top:1px solid rgba(13,11,43,.08);
}

.PartnerLoginLinks a{
	position:relative;
	display:inline-block;
	padding-left:14px;
	font-size:12.5px;
	line-height:1.8;
	font-weight:500;
	letter-spacing:.04em;
	color:rgba(13,11,43,.58);
	text-decoration:none;
	transition:color .25s ease, transform .25s ease;
}

.PartnerLoginLinks a::before{
	content:"";
	position:absolute;
	left:0;
	top:.78em;
	width:5px;
	height:5px;
	border-right:1px solid #7BAFCB;
	border-bottom:1px solid #7BAFCB;
	transform:rotate(-45deg);
}

.PartnerLoginLinks a:hover{
	color:#0D0B2B;
	transform:translateX(3px);
}

/* Password Toggle */

.PartnerPasswordWrap{
	position:relative;
	width:100%;
}

.PartnerPasswordWrap input{
	padding-right:56px;
}

.PartnerPasswordToggle{
	position:absolute;
	right:14px;
	top:50%;
	width:34px;
	height:34px;
	padding:0;
	border:none;
	background:transparent;
	transform:translateY(-50%);
	cursor:pointer;
	opacity:.58;
	transition:opacity .25s ease, transform .25s ease;
}

.PartnerPasswordToggle:hover{
	opacity:.9;
	transform:translateY(-50%) scale(1.04);
}

.PartnerPasswordToggle span{
	position:absolute;
	left:50%;
	top:50%;
	width:20px;
	height:13px;
	border:1.5px solid rgba(13,11,43,.56);
	border-radius:50% / 58%;
	transform:translate(-50%, -50%);
	box-sizing:border-box;
}

.PartnerPasswordToggle span::before{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:5px;
	height:5px;
	background:rgba(13,11,43,.56);
	border-radius:50%;
	transform:translate(-50%, -50%);
}

.PartnerPasswordToggle span::after{
	content:"";
	position:absolute;
	left:50%;
	top:50%;
	width:24px;
	height:1.5px;
	background:rgba(13,11,43,.56);
	transform:translate(-50%, -50%) rotate(-38deg);
	opacity:1;
	transition:opacity .2s ease;
}

.PartnerPasswordToggle.is-visible span::after{
	opacity:0;
}

.PartnerLoginForgotLink{
	display:inline-block;
	margin-top:6px;
	color:#4D6A7F;
	text-decoration:none;
	border-bottom:1px solid rgba(123,175,203,.45);
	transition:color .25s ease, border-color .25s ease;
}

.PartnerLoginForgotLink:hover{
	color:#0D0B2B;
	border-color:#0D0B2B;
}