/* ═══════════════════════════════════════════
   AUTH PAGES — Login & Register
   ═══════════════════════════════════════════ */

.tp-auth{
	min-height:100vh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding-top:6rem;
	position:relative;
	overflow:hidden;
}
.tp-auth__glow{
	position:absolute;
	width:500px;height:500px;
	border-radius:50%;
	filter:blur(140px);
	opacity:.12;
	pointer-events:none;
}
.tp-auth__glow--1{background:var(--primary);top:-200px;left:-100px}
.tp-auth__glow--2{background:var(--secondary);bottom:-200px;right:-100px}

.tp-auth__card{
	width:100%;
	max-width:440px;
	padding:2.5rem;
	position:relative;
	z-index:1;
}
.tp-auth__card--wide{
	max-width:560px;
}

.tp-auth__header{
	text-align:center;
	margin-bottom:2rem;
}
.tp-auth__header svg{margin-bottom:.75rem}
.tp-auth__header h1{
	font-family:var(--font-heading);
	font-size:1.5rem;
	font-weight:700;
	margin:0 0 .5rem;
}
.tp-auth__header p{
	color:var(--muted);
	font-size:.9rem;
}

/* Error */
.tp-auth__error{
	background:rgba(239,68,68,0.1);
	border:1px solid rgba(239,68,68,0.2);
	color:#EF4444;
	padding:.75rem 1rem;
	border-radius:var(--radius-sm);
	font-size:.88rem;
	margin-bottom:1.25rem;
}

/* Form */
.tp-auth__form{margin-bottom:1.5rem}
.tp-auth__field{margin-bottom:1.25rem}
.tp-auth__field label{
	display:block;
	font-size:.82rem;
	font-weight:600;
	color:var(--muted);
	margin-bottom:.4rem;
}
.tp-auth__field input,.tp-auth__field select,.tp-auth__field textarea{
	width:100%;
	padding:.75rem 1rem;
	border:1px solid var(--border);
	border-radius:var(--radius-sm);
	background:rgba(255,255,255,0.03);
	color:var(--text);
	font-family:var(--font-body);
	font-size:.9rem;
	transition:var(--transition);
	outline:none;
}
.tp-auth__field input:focus,.tp-auth__field textarea:focus{
	border-color:var(--primary);
	box-shadow:0 0 0 3px rgba(0,255,163,0.1);
}
.tp-auth__field input::placeholder{color:#6B7280}

.tp-auth__grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0 1rem;
}
@media(max-width:600px){
	.tp-auth__grid{grid-template-columns:1fr}
}

.tp-auth__row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:1.5rem;
}
.tp-auth__check{
	display:flex;
	align-items:center;
	gap:.4rem;
	font-size:.85rem;
	color:var(--muted);
	cursor:pointer;
}
.tp-auth__check input[type="checkbox"]{
	width:16px;height:16px;
	accent-color:var(--primary);
}
.tp-auth__link{
	font-size:.85rem;
	color:var(--primary);
	text-decoration:none;
}
.tp-auth__link:hover{text-decoration:underline}

.tp-auth__submit{
	width:100%;
	justify-content:center;
	padding:.85rem;
	font-size:1rem;
}

.tp-auth__footer{
	text-align:center;
	font-size:.88rem;
	color:var(--muted);
}
.tp-auth__footer a{
	color:var(--primary);
	text-decoration:none;
	font-weight:600;
}
.tp-auth__footer a:hover{text-decoration:underline}

/* Perks box */
.tp-auth__perks{
	background:rgba(0,255,163,0.04);
	border:1px solid rgba(0,255,163,0.1);
	border-radius:var(--radius-sm);
	padding:1rem;
	margin-bottom:1.5rem;
}
.tp-auth__perks p{
	font-size:.82rem;
	font-weight:600;
	color:var(--muted);
	margin-bottom:.5rem;
}
.tp-auth__perks ul{
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:.25rem;
}
.tp-auth__perks li{
	font-size:.82rem;
	color:var(--text);
}

/* Loading state */
@keyframes tp-pulse{0%,100%{opacity:1}50%{opacity:.5}}
.tp-auth__btn-loading{animation:tp-pulse 1.5s ease-in-out infinite}
