body {
	  overflow: hidden;
	  margin: 0;
	  background: #f0f2f5;
	}

	.bg-container {
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  z-index: -1;
	  overflow: hidden;
	}

	.blob {
	  position: absolute;
	  width: 500px;
	  height: 500px;
	  background: linear-gradient(135deg, rgba(255, 51, 102, 0.2), rgba(61, 90, 153, 0.2));
	  filter: blur(80px);
	  border-radius: 50%;
	  animation: move 20s infinite alternate;
	}

	.blob-1 { top: -100px; left: -100px; background: rgba(255, 51, 102, 0.15); }
	.blob-2 { bottom: -100px; right: -100px; background: rgba(61, 90, 153, 0.15); animation-delay: -5s; }

	@keyframes move {
	  from { transform: translate(0, 0) scale(1); }
	  to { transform: translate(100px, 50px) scale(1.1); }
	}

	.authWrap {
	  width: 100vw;
	  height: 100vh;
	  display: grid;
	  place-items: center;
	  padding: 24px;
	  background: linear-gradient(135deg, #3d0d19, #0f1e3f, #000000);
	}

	.authCard {
	  width: min(420px, 92vw);
	  background: rgba(41, 38, 38, 0.822);
	  backdrop-filter: blur(15px);
	  -webkit-backdrop-filter: blur(15px);
	  border: 1px solid rgba(255, 255, 255, 0.4);
	  border-radius: 28px;
	  box-shadow: 0 20px 40px #7a102b;
	  padding: 40px 30px;
	  transform: translateY(20px);
	  opacity: 0;
	  animation: cardFadeIn 0.8s ease-out forwards;
	}

	@keyframes cardFadeIn {
	  to { transform: translateY(0); opacity: 1; }
	}

	.authTitle {
	  font-size: 22px;
	  font-weight: 800;
	  background: #fdfdfd;
	  -webkit-background-clip: text;
	  -webkit-text-fill-color: transparent;
	  margin-bottom: 25px;
	  text-align: center;
	}

	.input-group {
	  margin-bottom: 20px;
	  position: relative;
	}

	.label {
	  font-size: 13px;
	  font-weight: 600;
	  color: #fdfbfb;
	  margin-bottom: 8px;
	  margin-left: 5px;
	}

	.input {
	  width: 100%;
	  color: white;
	  padding: 14px 18px;
	  border-radius: 15px;
	  border: 1px solid rgba(255, 255, 255, 0.1);
	  background: rgba(70, 68, 68, 0.9);
	  font-size: 15px;
	  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	}

	.input:focus {
	  border-color: #FF3366;
	  box-shadow: 0 0 0 4px rgba(255, 51, 102, 0.1);
	  outline: none;
	  transform: scale(1.02);
	}

	.btn {
	  width: 100%;
	  padding: 15px;
	  border: none;
	  border-radius: 15px;
	  background: linear-gradient(135deg, #FF3366, #3D5A99);
	  color: white;
	  font-size: 16px;
	  font-weight: 700;
	  cursor: pointer;
	  transition: all 0.4s ease;
	  box-shadow: 0 10px 20px rgba(255, 51, 102, 0.2);
	  margin-top: 10px;
	}

	.btn:hover {
	  transform: translateY(-3px);
	  box-shadow: 0 15px 30px rgba(255, 51, 102, 0.3);
	  filter: brightness(1.1);
	}

	.btn:active { transform: translateY(0); }

	.btn-secondary {
	  background: transparent;
	  border: 1px solid rgba(255, 255, 255, 0.3);
	  box-shadow: none;
	}

	.btn-secondary:hover {
	  background: rgba(255, 255, 255, 0.1);
	  transform: translateY(-2px);
	}

	.center-img {
	  display: block;
	  margin: 0 auto 30px;
	  transition: transform 0.5s ease;
	}

	.center-img:hover { transform: scale(1.05); }

	.msg {
	  color: #4ade80;
	  font-size: 14px;
	  text-align: center;
	  margin-top: 15px;
	  min-height: 20px;
	}

	.error-msg {
	  color: #ff6b6b;
	}

	.links {
	  display: flex;
	  justify-content: space-between;
	  margin-top: 20px;
	}

	.links a {
	  color: rgba(255, 255, 255, 0.7);
	  text-decoration: none;
	  font-size: 13px;
	  transition: color 0.3s;
	}

	.links a:hover {
	  color: #FF3366;
	}
