.tap-auth-wrapper{

	display:flex;
	justify-content:center;
	align-items:center;
	min-height:70vh;
	padding:60px 20px;

}

.tap-auth-box{

	background:var(--tap-card);
	border-radius:22px;
	box-shadow:var(--tap-shadow-lg);
	border:1px solid var(--tap-border);
	border-top:3px solid var(--tap-gold);
	padding:45px;
	width:100%;
	max-width:440px;

}

.tap-auth-box h2{

	font-family:var(--tap-font-heading);
	font-size:30px;
	font-weight:800;
	color:#14203a;
	margin:0 0 8px;

}

.tap-auth-subtitle{

	color:#6b6456;
	margin:0 0 30px;
	font-size:15px;

}

.tap-auth-box .tap-field{

	margin-bottom:20px;

}

.tap-auth-box label{

	display:block;
	font-size:13px;
	font-weight:600;
	color:#2c3350;
	margin-bottom:8px;

}

.tap-auth-box input[type="text"],
.tap-auth-box input[type="email"],
.tap-auth-box input[type="password"]{

	width:100%;
	padding:13px 16px;
	border:1px solid #e8e1cf;
	border-radius:12px;
	font-size:15px;
	box-sizing:border-box;
	transition:.2s;

}

.tap-auth-box input:focus{

	outline:none;
	border-color:var(--tap-gold);
	box-shadow:0 0 0 3px rgba(201,162,39,.16);

}

.tap-field-hint{

	display:block;
	font-size:12px;
	color:#8a8371;
	margin-top:6px;

}

.tap-checkbox{

	display:flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	color:#2c3350;
	font-weight:400;
	cursor:pointer;
	margin-bottom:22px;

}

.tap-checkbox input{

	width:auto;
	margin:0;

}

.tap-auth-row{

	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:24px;
	font-size:14px;

}

.tap-auth-row a,
#tap-back-to-login{

	color:#0e2a52;
	text-decoration:none;
	font-weight:600;

}

.tap-auth-row a:hover,
#tap-back-to-login:hover{

	text-decoration:underline;

}

#tap-back-to-login{

	display:inline-block;
	margin-top:16px;
	font-size:14px;

}

.tap-btn-full{

	width:100%;
	text-align:center;
	justify-content:center;

}

.tap-auth-switch{

	text-align:center;
	margin:26px 0 0;
	font-size:14px;
	color:#6b6456;

}

.tap-auth-switch a{

	color:#0e2a52;
	font-weight:700;
	text-decoration:none;

}

.tap-auth-switch a:hover{

	text-decoration:underline;

}

.tap-auth-message{

	padding:12px 16px;
	border-radius:12px;
	font-size:14px;
	margin-bottom:20px;

}

.tap-auth-success{

	background:#eaf6f0;
	color:#145c48;
	border:1px solid #bfe3d3;

}

.tap-auth-error{

	background:#fbeae7;
	color:#8f2a20;
	border:1px solid #eac3ba;

}

@media(max-width:480px){

	.tap-auth-box{

		padding:30px 24px;

	}

	.tap-auth-box h2{

		font-size:24px;

	}

}