:root {
  --primary-color: #00d1b2;
  --secondary-color: #3273dc;
  --bg-color: #f5f7fa;
  --card-bg: #ffffff;
  --text-color: #363636;
  --danger-color: #f14668;
  --success-color: #48c774;
}

body {
  background-color: var(--bg-color);
  font-family: "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
    "Helvetica Neue", sans-serif;
  min-height: 100vh;
}

.hero-body {
  padding: 3rem 1.5rem;
}

.card {
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}

.card-header-title {
  font-size: 1.25rem;
  font-weight: 700;
}

.navbar {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.navbar-brand {
  font-weight: bold;
  font-size: 1.2rem;
}

/* Custom Utilities */
.is-radius {
  border-radius: 8px;
}

.has-bg-gradient {
  background: linear-gradient(
    135deg,
    var(--primary-color),
    var(--secondary-color)
  );
  color: white;
}

.floating-action {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 100;
}

.loader-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
  z-index: 10;
}

.is-hidden {
  display: none !important;
}

/* Form Styles */
.input,
.select select,
.textarea {
  box-shadow: none;
  border-radius: 6px;
  transition: border-color 0.2s;
}

.input:focus,
.select select:focus,
.textarea:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(0, 209, 178, 0.2);
}

/* Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fadeIn 0.5s ease-out forwards;
}

.preserve-newline {
  white-space: pre-wrap;
}
