/* Regular CSS to replace Tailwind CSS */

/* Layout */
.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Margin and Padding */
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-12 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.m-4 {
  margin: 1rem;
}

.mb-6 {
  margin-bottom: 1.5rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-2\.5 {
  padding: 0.625rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

/* Width and Height */
.w-full {
  width: 100%;
}

.w-10\/12 {
  width: 83.333333%;
}

.w-screen {
  width: 100vw;
}

.h-8\/12 {
  height: 66.666667%;
}

/* Text Styling */
.text-center {
  text-align: center;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

/* Colors */
.text-white {
  color: white;
}

.text-gray-900 {
  color: #1a202c;
}

.text-gray-700 {
  color: #4a5568;
}

.text-red-700 {
  color: #c53030;
}

.bg-gray-200 {
  background-color: #edf2f7;
}

.bg-gray-50 {
  background-color: #f9fafb;
}

.bg-blue-800 {
  background-color: #2c5282;
}

/* Borders */
.border {
  border-width: 1px;
}

.border-gray-300 {
  border-color: #e2e8f0;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

/* Focus States */
.focus\:ring-4:focus {
  box-shadow: 0 0 0 4px rgba(66, 153, 225, 0.5);
}

.focus\:ring-blue-500:focus {
  box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
}

.focus\:border-blue-500:focus {
  border-color: #3182ce;
}

.focus\:outline-none:focus {
  outline: none;
}

/* Display */
.block {
  display: block;
}

.grid {
  display: grid;
}

.place-items-center {
  place-items: center;
}

/* Drop Shadow */
.drop-shadow-md {
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07)) drop-shadow(0 2px 2px rgba(0, 0, 0, 0.06));
}

/* Form Elements */
input, select, textarea {
  width: 100%;
  padding: 0.625rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  background-color: #f9fafb;
  color: #1a202c;
  font-size: 0.875rem;
}

/* Checkbox specific styling */
input[type="checkbox"] {
  width: auto;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}

input[type="checkbox"] + label {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0;
}

input:focus, select:focus, textarea:focus {
  border-color: #3182ce;
  box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
  outline: none;
}

label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1a202c;
}

button {
  background-color: #b3b000;
  color: white;
  font-weight: 500;
  padding: 0.625rem 1.25rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  cursor: pointer;
  border: none;
}

button:hover {
  background-color: #2c5282;
}

button:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(66, 153, 225, 0.5);
}

/* Success and Error Messages */
.success-message {
  background-color: #b3b000;
  color: white;
  padding: 1.5rem;
  font-size: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 83.333333%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  border-radius: 0.75rem;
}

.error-message {
  color: red;
  display: none;
}

.error-alert {
  background-color: #f8d7da;
  color: #721c24;
  padding: 1.5rem;
  font-size: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 83.333333%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  border-radius: 0.75rem;
}

.loading-message {
  background-color: #f0f0f0;
  color: #4a5568;
  padding: 1.5rem;
  font-size: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  width: 83.333333%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  border-radius: 0.75rem;
}

/* Responsive Design */
@media (min-width: 768px) {
  .md\:w-6\/12 {
    width: 50%;
  }
}

@media (min-width: 640px) {
  .sm\:w-auto {
    width: auto;
  }
}

/* Form Layout */
.form-container {
  display: grid;
  height: 66.666667%;
  place-items: center;
  width: 100vw;
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.form {
  width: 83.333333%;
  background-color: #edf2f7;
  padding: 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .form {
    width: 50%;
  }
}

/* Page Title */
.page-title {
  font-size: 1.875rem;
  line-height: 2.25rem;
  text-align: center;
  font-weight: 700;
  margin: 1rem;
  color: #b3b000;
}

/* Invalid Input Styling */
input.is-invalid {
  background-color: red;
  color: white;
}
