body.login-action-register #login{width:min(880px,calc(100vw - 36px))!important;right:clamp(30px,5vw,80px)!important}.clc-registerform{display:grid!important;grid-template-columns:1fr 1fr;gap:20px!important}.clc-registerform>p:first-of-type,.clc-registerform>p:nth-of-type(2),.clc-registerform>.clc-native-register,.clc-registerform>.submit{grid-column:1/-1}.clc-native-register{display:grid;gap:18px}.clc-native-register section{padding:18px;border:1px solid #e1e7f0;border-radius:16px;background:#fbfcff}.clc-native-register h3{margin:0 0 12px;color:#16233a;font-size:16px}.clc-native-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.clc-native-role-grid label{position:relative;padding:13px;border:1px solid #d9e3ef;border-radius:13px;background:#fff;cursor:pointer}.clc-native-role-grid input{position:absolute;right:10px;top:10px}.clc-native-role-grid strong,.clc-native-role-grid span{display:block}.clc-native-role-grid span{margin-top:5px;color:#6d7d92;font-size:11px;line-height:1.5}.clc-native-passwords{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clc-avatar-choice-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.clc-avatar-choice{position:relative;display:grid;justify-items:center;gap:4px;padding:6px;border:2px solid transparent;border-radius:12px;background:#fff;cursor:pointer}.clc-avatar-choice.is-selected{border-color:#4f6cf7;background:#f1f5ff}.clc-avatar-choice input{position:absolute;opacity:0}.clc-avatar-choice img{width:48px;height:48px;border-radius:50%;object-fit:cover}.clc-avatar-choice span{font-size:10px;color:#607089}@media(max-width:900px){body.login-action-register #login{width:min(620px,calc(100vw - 28px))!important;right:auto!important}.clc-registerform{grid-template-columns:1fr}.clc-native-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clc-avatar-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:520px){.clc-native-passwords,.clc-native-role-grid{grid-template-columns:1fr}.clc-avatar-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}


/* 3.2.3 registration submit/return separation */
body.login-action-register #registerform .clc-register-submit-row,
body.login-action-register #registerform p.submit{
	display:grid!important;
	grid-template-columns:1fr!important;
	gap:9px!important;
	float:none!important;
	clear:both!important;
	width:100%!important;
	margin:4px 0 0!important;
	padding:20px!important;
	border:1px solid #d9e5f3!important;
	border-radius:16px!important;
	background:linear-gradient(145deg,#f7faff,#eef5ff)!important;
	box-sizing:border-box!important;
}
body.login-action-register #registerform #wp-submit,
body.login-action-register #registerform .clc-register-submit{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	float:none!important;
	width:100%!important;
	min-height:56px!important;
	margin:0!important;
	padding:0 22px!important;
	border:0!important;
	border-radius:13px!important;
	background:linear-gradient(135deg,#2466dc,#514fe0 58%,#18abc5)!important;
	color:#fff!important;
	font-size:17px!important;
	font-weight:850!important;
	line-height:1.2!important;
	letter-spacing:.03em!important;
	text-shadow:none!important;
	box-shadow:0 14px 30px rgba(47,91,215,.26)!important;
	cursor:pointer!important;
}
body.login-action-register #registerform #wp-submit:hover,
body.login-action-register #registerform #wp-submit:focus{
	transform:translateY(-1px)!important;
	box-shadow:0 18px 36px rgba(47,91,215,.32)!important;
	outline:3px solid rgba(75,139,242,.20)!important;
	outline-offset:2px!important;
}
body.login-action-register #registerform #wp-submit.is-submitting{
	opacity:.82!important;
	cursor:wait!important;
}
body.login-action-register .clc-register-submit-note{
	display:block!important;
	margin:0!important;
	color:#60738d!important;
	font-size:12px!important;
	font-weight:650!important;
	line-height:1.65!important;
	text-align:center!important;
}
body.login-action-register .cas-account-switch.clc-register-login-return{
	grid-template-columns:auto auto!important;
	justify-content:center!important;
	max-width:520px!important;
	margin:13px auto 0!important;
	padding:10px 14px!important;
	border-color:rgba(190,210,235,.16)!important;
	background:rgba(255,255,255,.055)!important;
	box-shadow:none!important;
}
body.login-action-register .cas-account-switch.clc-register-login-return>span{
	font-size:12px!important;
	font-weight:650!important;
	opacity:.88!important;
}
body.login-action-register .cas-account-switch.clc-register-login-return .cas-account-switch__button{
	min-height:36px!important;
	padding:0 13px!important;
	border:1px solid rgba(255,255,255,.22)!important;
	border-radius:9px!important;
	background:rgba(255,255,255,.08)!important;
	font-size:12px!important;
	font-weight:720!important;
	box-shadow:none!important;
}
@media(max-width:520px){
	body.login-action-register #registerform .clc-register-submit-row,
	body.login-action-register #registerform p.submit{padding:14px!important}
	body.login-action-register .cas-account-switch.clc-register-login-return{grid-template-columns:1fr!important;gap:6px!important}
}


/* 3.2.4 registration helper text contrast and username rule */
body.login-action-register #registerform label,
body.login-action-register #registerform .clc-native-register label{
	color:#253a55!important;
	font-weight:720!important;
	text-shadow:none!important;
}
body.login-action-register #registerform .description,
body.login-action-register #registerform .clc-native-register .description,
body.login-action-register #registerform #reg_passmail,
body.login-action-register #registerform .clc-register-submit-note{
	display:block!important;
	color:#4b617c!important;
	opacity:1!important;
	font-size:12px!important;
	font-weight:650!important;
	line-height:1.65!important;
	text-shadow:none!important;
}
body.login-action-register #registerform #reg_passmail{
	margin:2px 0 0!important;
	padding:9px 12px!important;
	border:1px solid #dce7f3!important;
	border-radius:10px!important;
	background:#f5f8fc!important;
}
body.login-action-register #registerform .clc-username-rule{
	display:flex!important;
	align-items:center!important;
	gap:6px!important;
	margin:7px 0 0!important;
	padding:7px 10px!important;
	border:1px solid #cfe0f3!important;
	border-radius:9px!important;
	background:#edf5ff!important;
	color:#28547f!important;
	font-size:12px!important;
	font-weight:750!important;
	line-height:1.45!important;
	letter-spacing:.01em!important;
	text-shadow:none!important;
}
body.login-action-register #registerform .clc-username-rule:before{
	content:"i";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 18px;
	width:18px;
	height:18px;
	border-radius:50%;
	background:#2f69d9;
	color:#fff;
	font-size:11px;
	font-weight:900;
}
body.login-action-register #registerform #registration_avatar{
	display:block!important;
	width:100%!important;
	margin-top:7px!important;
	padding:8px!important;
	border:1px solid #ccd9e8!important;
	border-radius:10px!important;
	background:#fff!important;
	color:#324b68!important;
	font-size:12px!important;
	font-weight:650!important;
	line-height:1.4!important;
	box-sizing:border-box!important;
}
body.login-action-register #registerform #registration_avatar::file-selector-button{
	margin-right:10px!important;
	padding:7px 12px!important;
	border:1px solid #b9cce2!important;
	border-radius:8px!important;
	background:#edf4fc!important;
	color:#274c76!important;
	font-size:12px!important;
	font-weight:750!important;
	cursor:pointer!important;
}
body.login-action-register #registerform input.input,
body.login-action-register #registerform input[type="text"],
body.login-action-register #registerform input[type="email"],
body.login-action-register #registerform input[type="password"],
body.login-action-register #registerform input[type="tel"]{
	color:#1f344e!important;
	background:#fff!important;
}
body.login-action-register #registerform input::placeholder{
	color:#718399!important;
	opacity:1!important;
}

/* 3.3.9 registration validation and success feedback */
body.login-action-register #login_error,
body.login-action-register .notice-error,
body.login-action-register .clc-client-error-summary{
	margin:0 0 18px!important;
	padding:14px 16px!important;
	border:1px solid #f5a6ad!important;
	border-left:5px solid #d92d3f!important;
	border-radius:12px!important;
	background:#fff1f2!important;
	color:#991b2f!important;
	font-size:13px!important;
	font-weight:700!important;
	line-height:1.65!important;
	box-shadow:0 9px 24px rgba(185,28,48,.10)!important;
}
body.login-action-register #login_error a,
body.login-action-register .notice-error a,
body.login-action-register .clc-client-error-summary a{
	color:#a40e2c!important;
	font-weight:800!important;
}
body.login-action-register .clc-client-error-summary ul{
	margin:7px 0 0 18px!important;
	padding:0!important;
}
body.login-action-register .clc-client-error-summary li{
	margin:3px 0!important;
	color:#991b2f!important;
}
body.login-action-register #registerform .clc-field-has-error>label,
body.login-action-register #registerform .clc-field-has-error label{
	color:#b42335!important;
}
body.login-action-register #registerform input.clc-input-error,
body.login-action-register #registerform select.clc-input-error,
body.login-action-register #registerform textarea.clc-input-error{
	border:2px solid #dc3447!important;
	background:#fff7f8!important;
	color:#661522!important;
	box-shadow:0 0 0 3px rgba(220,52,71,.12)!important;
	outline:none!important;
}
body.login-action-register #registerform input.clc-input-error:focus,
body.login-action-register #registerform select.clc-input-error:focus,
body.login-action-register #registerform textarea.clc-input-error:focus{
	border-color:#bd1731!important;
	box-shadow:0 0 0 4px rgba(220,52,71,.18)!important;
}
body.login-action-register #registerform .clc-field-error{
	display:flex!important;
	align-items:flex-start!important;
	gap:7px!important;
	width:100%!important;
	margin:7px 0 0!important;
	padding:8px 10px!important;
	border:1px solid #f4b2ba!important;
	border-radius:9px!important;
	background:#fff0f2!important;
	color:#b01831!important;
	font-size:12px!important;
	font-weight:800!important;
	line-height:1.5!important;
	box-sizing:border-box!important;
	text-shadow:none!important;
}
body.login-action-register #registerform .clc-field-error:before{
	content:"!";
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 18px;
	width:18px;
	height:18px;
	margin-top:1px;
	border-radius:50%;
	background:#d92d3f;
	color:#fff;
	font-size:12px;
	font-weight:900;
	line-height:1;
}
body.login .clc-registration-success{
	margin:0 0 18px!important;
	padding:15px 17px!important;
	border:1px solid #91d7b3!important;
	border-left:5px solid #12864d!important;
	border-radius:12px!important;
	background:#edfff5!important;
	color:#155f3b!important;
	font-size:13px!important;
	font-weight:650!important;
	line-height:1.65!important;
	box-shadow:0 9px 24px rgba(18,134,77,.11)!important;
}
body.login .clc-registration-success strong{
	color:#0d6d3d!important;
	font-size:15px!important;
	font-weight:850!important;
}

/* 3.5.0 registration comfort. */
body.login-action-register{background:#f3f6fb!important;}
body.login-action-register #login{width:min(100% - 24px,560px)!important;padding-top:4vh!important;}
body.login-action-register form{padding:28px!important;border:1px solid #dce5ef!important;border-radius:20px!important;background:#fff!important;box-shadow:0 18px 46px rgba(28,48,73,.1)!important;}
body.login-action-register label{color:#40536b!important;font-weight:700!important;}
body.login-action-register input:not([type="checkbox"]):not([type="radio"]){min-height:46px!important;border:1px solid #c8d6e5!important;border-radius:10px!important;background:#fff!important;}
body.login-action-register input:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.22)!important;}
body.login-action-register .button-primary{min-height:48px!important;border-radius:11px!important;background:#2563eb!important;font-weight:800!important;}
@media(max-width:600px){body.login-action-register form{padding:20px 16px!important;border-radius:16px!important;}}
