body{
  background: #f9fafb;
  color: #111827;
  font-family: 'Inter', sans-serif;
  min-height: 100vh;
  position: relative;
  margin: 0;
  padding: 0;
}

.logo{
	max-width: 180px;
	height: auto;
	object-fit: contain;
    margin: 0;
    display: block;
}

.custom-control-label {
    margin-bottom: 0;
    margin-top: 1px;
	-webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none; 
            user-select: none; 
}
 
.card-signin {
  border: 0;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  width: 100%;
  max-width: 448px;
  margin: 0 auto;
}

.card-signin .card-header {
  font-weight: 300;
  font-size: 1.5rem;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: #FFFFFF;
}

.login-form-head {
    text-align: center;
    background: #ffffff;
    padding: 30px 15px;
    border-bottom: 1px solid #e8e8e8;
}

.login-form-head h4 {
    letter-spacing: 0;
    font-weight: 600;
    color: #000;
    margin: 0;
}

.card-signin .card-body {
  padding: 24px;
}

@media (min-width: 640px) {
  .card-signin .card-body {
    padding: 32px;
  }
}

.form-signin {
  font-family: 'Poppins', sans-serif;
  width: 100%;
  /* text-align: center; */
}

.form-signin .btn {
  font-size: 14px;
  letter-spacing: .1rem;
  padding: 12px 20px;
  transition: all 0.2s;
}

.form-signin .form-control {
  padding: 12px 16px;
  text-align: left;
  height: auto;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  background-color: #f9fafb;
  font-size: 14px;
  margin-bottom: 16px;
}

.form-signin .form-control:focus{
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
  border: 1px solid #3b82f6;
  background-color: #ffffff;
  outline: none;
} 

/* Sign UP */
.card-signup {
  border: 0;
  border-radius: 5px;
  background: #FFFFFF;
}

.card-signup .card-header {
  font-weight: 300;
  font-size: 1.5rem;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background: #FFFFFF;
}

.card-signup .card-body {
  padding: 2rem;
}

.form-signup {
  font-family: 'Poppins', sans-serif;
  width: 100%;
}

.form-signup .btn {
  font-size: 14px;
  letter-spacing: .1rem;
  padding: 12px 20px;
  transition: all 0.2s;
}

.form-signup .form-control {
  padding: 12px 20px;
  height: auto;
}

.form-signup .form-control:focus{
  box-shadow: none;
  border: 1px solid #007bff;
} 

select.form-control {
    padding: 12px 20px;
    height: auto !important;
}

.custom-control-label:before {
    background: #CCCCCC;
	border-radius: 50% !important;
}

.custom-control {
   display: inline-block;
}

#extend_membership{
	font-family: 'Poppins', sans-serif;
}

.btn-register{
	text-align: center;
  display: block;
  color: #000000;
	font-size: 16px !important;
}

.btn-register:hover{
	color: #000000;
}

.btn-google{
	background: #DB4437;
	color: #FFF;
 }
 
 .btn-google:hover{
	background: #c0392b;
	color: #FFF;
 }
 
 .btn-facebook{
	 background: #3b5998;
	 color: #FFF;
 }
 
 .btn-facebook:hover{
	 color: #FFF;
 }

/* Exact Tailwind/Flowbite replication */
.auth-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  margin: 0 auto;
  min-height: 100vh;
}

@media (min-width: 768px) {
  .auth-container {
    min-height: 100vh;
  }
}

@media (min-width: 1024px) {
  .auth-container {
    padding: 0;
  }
}

/* Logo section */
.logo-section {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}

/* Main title */
.auth-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: #111827;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .auth-title {
    font-size: 24px;
    margin-bottom: 24px;
  }
}

/* Form spacing */
.form-signin {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (min-width: 768px) {
  .form-signin {
    gap: 24px;
  }
}

/* Form labels */
.form-label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}

/* Form inputs */
.form-control {
  background-color: #f9fafb !important;
  border: 1px solid #d1d5db !important;
  color: #111827 !important;
  border-radius: 8px !important;
  display: block !important;
  width: 100% !important;
  padding: 10px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
}

.form-control::placeholder {
  color: #9ca3af !important;
}

.form-control:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
  border-color: #2563eb !important;
  background-color: #ffffff !important;
}

/* Remember me and forgot password section */
.remember-forgot-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.remember-section {
  display: flex;
  align-items: flex-start;
}

.remember-checkbox-wrapper {
  display: flex;
  align-items: center;
  height: 20px;
}

.remember-checkbox {
  width: 16px;
  height: 16px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background-color: #f9fafb;
  margin-right: 0;
}

.remember-checkbox:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
  border-color: #2563eb;
}

.remember-label-wrapper {
  margin-left: 12px;
  font-size: 14px;
}

.remember-label {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 0;
}

.forgot-password-link {
  font-size: 14px;
  font-weight: 500;
  color: #2563eb;
  text-decoration: none;
}

.forgot-password-link:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

/* Primary button */
.btn-primary {
  width: 100% !important;
  color: #ffffff !important;
  background-color: #2563eb !important;
  border-color: #2563eb !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  padding: 10px 20px !important;
  text-align: center !important;
  transition: all 0.15s ease-in-out !important;
}

.btn-primary:hover {
  background-color: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
}

.btn-primary:focus {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.3) !important;
  background-color: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
}

/* Sign up link */
.signup-text {
  font-size: 14px;
  font-weight: 300;
  color: #6b7280;
  margin-top: 0;
}

.signup-link {
  font-weight: 500;
  color: #2563eb;
  text-decoration: none;
}

.signup-link:hover {
  color: #1d4ed8;
  text-decoration: underline;
}

/* Override Bootstrap container behavior */
.container {
  max-width: 100%;
  padding: 0;
}

.row.justify-content-center {
  margin: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.col-md-5 {
  padding: 24px;
  width: 100%;
}

/* Form group spacing */
.form-group {
  margin-bottom: 0;
}

/* Error styling */
.is-invalid {
  border-color: #ef4444 !important;
  background-color: #fef2f2 !important;
}

.invalid-feedback {
  color: #ef4444;
  font-size: 14px;
  margin-top: 4px;
}

/* Social login buttons styling */
.btn-google, .btn-facebook {
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  transition: all 0.2s ease;
  margin-top: 16px;
  width: 100%;
}

/* Background section */
.bg-gray-50 {
  background-color: #f9fafb;
}

/* Main layout adjustments */
#app {
  min-height: 100vh;
}

main {
  min-height: 100vh;
}