/* body {
  margin: 0;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif,'Inter';
  background-color: #f3f3f5;  
}

.top-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 30px;
  background-color: white;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  position: relative;
}

.logo {
  position: absolute;
  left: 30px;
  height: 40px;
}

.top-bar h1 {
  font-size: 22px;
  font-weight: bold;
  color: #800000;
}

.signup-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px 20px;
}

.signup-box {
  display: flex;
  width: 80%;
  max-width: 1000px;
  background-color: white;
  border-radius: 25px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  overflow: hidden;
}

.left-panel {
  flex: 1;
  position: relative;
  display: none;
}

@media (min-width: 768px) {
  .left-panel {
    display: block;
  }
}

.bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.welcome-text {
  position: absolute;
  bottom: 20%;
  left: 10%;
  right: 10%;
  background: rgba(255, 255, 255, 0.7);
  color: #800000;
  font-size: 24px;
  font-weight: bold;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
}

.right-panel {
  flex: 1;
  padding: 50px;
  background-color: white;
}

.right-panel h2 {
  font-size: 22px;
  margin-bottom: 30px;
  color: #800000;
  font-weight: bold;
}

form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

input[type="text"],
input[type="email"],
input[type="password"] {
  padding: 15px;
  border: 2px solid #800000;
  border-radius: 8px;
  font-size: 16px;
}

button {
  background: linear-gradient(to right, #800000, #a52a2a);
  color: white;
  font-size: 16px;
  font-weight: bold;
  padding: 12px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s ease;
}

button:hover {
  opacity: 0.9;
}

.login-redirect {
  text-align: center;
  font-size: 14px;
  margin-top: 20px;
  color: #555;
}

.login-redirect a {
  color: #800000;
  text-decoration: none;
  font-weight: bold;
}

.login-redirect a:hover {
  text-decoration: underline;
}

.messages {
  margin: 20px auto;
  width: 80%;
  max-width: 400px;
}

.message {
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 15px;
  margin-bottom: 10px;
  text-align: center;
  animation: fadeIn 0.5s ease-in-out;
}

.message.error {
  background-color: #ffe0e0;
  color: #b30000;
  border: 1px solid #ffb3b3;
}

.message.success {
  background-color: #e0ffe0;
  color: #006600;
  border: 1px solid #99ff99;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* RESPONSIVE TWEAKS */
@media (max-width: 768px) {
  .signup-container {
    padding: 30px 15px;
  }

  .signup-box {
    flex-direction: column;
    width: 100%;
    border-radius: 15px;
  }

  .left-panel {
    display: none;
  }

  .right-panel {
    padding: 30px 20px;
  }

  .right-panel h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"] {
    padding: 12px;
    font-size: 14px;
  }

  button {
    font-size: 15px;
    padding: 10px;
  }

  .welcome-text {
    font-size: 18px;
    padding: 15px;
  }

  .top-bar {
    flex-direction: column;
    gap: 8px;
    text-align: center;
    padding: 10px;
  }

  .top-bar h1 {
    font-size: 18px;
    margin-left: 0;
  }

  .logo {
    position: static;
    height: 35px;
  }

  .messages {
    width: 90%;
  }
}

@media (max-width: 480px) {
  .right-panel h2 {
    font-size: 18px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"] {
    font-size: 13px;
    padding: 10px;
  }

  button {
    font-size: 14px;
    padding: 10px;
  }

  .login-redirect {
    font-size: 13px;
  }
}
 */



body{
  margin:0;
  font-family:'Inter','Segoe UI',Tahoma,Geneva,Verdana,sans-serif;

  background:
    radial-gradient(circle at 20% 20%, rgba(128,0,0,0.08), transparent 40%),
    radial-gradient(circle at 80% 80%, rgba(128,0,0,0.06), transparent 40%),
    linear-gradient(135deg,#f7f7f9,#ececf1);

  min-height:100vh;
}


/* TOP BAR */

.top-bar{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:16px 30px;
  background-color:white;
  box-shadow:0 3px 10px rgba(0,0,0,0.08);
  position:relative;
}

.logo{
  position:absolute;
  left:30px;
  height:40px;
}

.top-bar h1{
  font-size:22px;
  font-weight:600;
  color:#800000;
  letter-spacing:0.3px;
}


/* SIGNUP CONTAINER */

.signup-container{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:60px 20px;
}


/* CARD */

.signup-box{
  display:flex;
  width:80%;
  max-width:900px;
  background-color:white;
  border-radius:20px;
  box-shadow:0 20px 45px rgba(0,0,0,0.08);
  overflow:hidden;

  animation:fadeUp 0.45s ease;

  transition:transform 0.35s ease, box-shadow 0.35s ease;
}

.signup-box:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 60px rgba(0,0,0,0.12);
}


/* LEFT PANEL */

.left-panel{
  flex:1;
  position:relative;
  display:none;
}

@media(min-width:768px){
  .left-panel{
    display:block;
  }
}

.bg-image{
  width:100%;
  height:100%;
  object-fit:cover;
}


/* IMAGE TEXT OVERLAY */

.welcome-text{
  position:absolute;
  bottom:15%;
  left:10%;
  right:10%;
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(6px);
  color:#800000;
  font-size:24px;
  font-weight:600;
  padding:22px;
  border-radius:12px;
  text-align:center;
  line-height:1.4;
}


/* RIGHT PANEL */

.right-panel{
  flex:1;
  padding:50px;
  background-color:white;
}

.right-panel h2{
  font-size:22px;
  margin-bottom:30px;
  color:#800000;
  font-weight:600;
}


/* FORM */

form{
  display:flex;
  flex-direction:column;
  gap:18px;
}


/* INPUT FIELDS */

input[type="text"],
input[type="email"],
input[type="password"]{
  padding:14px 15px;
  border:1.8px solid #800000;
  border-radius:8px;
  font-size:15px;
  transition:all 0.25s ease;
  outline:none;
  background:white;
}


/* PLACEHOLDER */

input::placeholder{
  color:#9a9a9a;
}


/* INPUT FOCUS EFFECT */

input:focus{
  border-color:#a00000;
  box-shadow:0 0 0 3px rgba(128,0,0,0.12);
}


/* BUTTON */

button{
  background:linear-gradient(135deg,#800000,#a52a2a);
  color:white;
  font-size:16px;
  font-weight:600;
  padding:13px;
  border:none;
  border-radius:8px;
  cursor:pointer;
  transition:all 0.25s ease;
}


/* BUTTON HOVER */

button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(128,0,0,0.35);
}


/* LOGIN REDIRECT */

.login-redirect{
  text-align:center;
  font-size:14px;
  margin-top:20px;
  color:#555;
}

.login-redirect a{
  color:#800000;
  text-decoration:none;
  font-weight:600;
}

.login-redirect a:hover{
  text-decoration:underline;
}


/* MESSAGES */

.messages{
  margin:20px auto;
  width:100%;
  max-width:400px;
}

.message{
  padding:12px 20px;
  border-radius:8px;
  font-size:14px;
  margin-bottom:10px;
  text-align:center;
  animation:fadeIn 0.4s ease;
}

.message.error{
  background-color:#ffe0e0;
  color:#b30000;
  border:1px solid #ffb3b3;
}

.message.success{
  background-color:#e0ffe0;
  color:#006600;
  border:1px solid #99ff99;
}


/* PAGE LOAD ANIMATION */

@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(25px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fadeIn{
  from{
    opacity:0;
    transform:translateY(-8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}


/* RESPONSIVE */

@media(max-width:768px){

  .signup-container{
    padding:30px 15px;
  }

  .signup-box{
    flex-direction:column;
    width:100%;
    border-radius:15px;
  }

  .left-panel{
    display:none;
  }

  .right-panel{
    padding:30px 20px;
  }

  .right-panel h2{
    font-size:20px;
    margin-bottom:20px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"]{
    padding:12px;
    font-size:14px;
  }

  button{
    font-size:15px;
    padding:11px;
  }

  .welcome-text{
    font-size:18px;
    padding:15px;
  }

  .top-bar{
    flex-direction:column;
    gap:8px;
    text-align:center;
    padding:12px;
  }

  .top-bar h1{
    font-size:18px;
  }

  .logo{
    position:static;
    height:35px;
  }

  .messages{
    width:90%;
  }
}


@media(max-width:480px){

  .right-panel h2{
    font-size:18px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"]{
    font-size:13px;
    padding:10px;
  }

  button{
    font-size:14px;
    padding:10px;
  }

  .login-redirect{
    font-size:13px;
  }
}