/* ===============================
   Healthcare UI Kit for KiviCare
   =============================== */

/* --- Global font & colors --- */
body, .kivicare {
  font-family: 'Inter', 'Segoe UI', sans-serif !important;
  background-color: #f8fbfd !important;
  color: #2e3a4e !important;
}

.kivicare a {
  color: #0ea5e9 !important; /* teal/blue link */
}
.kivicare a:hover {
  color: #0284c7 !important;
  text-decoration: none !important;
}

/* --- Headings --- */
.kivicare h1, .kivicare h2, .kivicare h3,
.kivicare h4, .kivicare h5 {
  font-weight: 600 !important;
  color: #1e293b !important;
  letter-spacing: -0.5px !important;
}

/* --- Buttons --- */
.kivicare .btn,
.kivicare button,
.kivicare input[type="submit"] {
  background: linear-gradient(135deg, #0ea5e9, #06b6d4) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  border-radius: 12px !important;
  box-shadow: 0 3px 8px rgba(14,165,233,0.25) !important;
  transition: all 0.3s ease !important;
}

.kivicare .btn:hover,
.kivicare button:hover {
  background: linear-gradient(135deg, #0284c7, #0891b2) !important;
  transform: translateY(-1px) !important;
}

/* --- Cards --- */
.kivicare .card {
  background-color: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.05) !important;
  border: none !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}

/* --- Inputs & Forms --- */
.kivicare input[type="text"],
.kivicare input[type="email"],
.kivicare input[type="number"],
.kivicare input[type="date"],
.kivicare select,
.kivicare textarea {
  background: #fff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-size: 15px !important;
  transition: border 0.3s ease, box-shadow 0.3s ease !important;
}

.kivicare input:focus,
.kivicare select:focus,
.kivicare textarea:focus {
  border-color: #0ea5e9 !important;
  box-shadow: 0 0 0 3px rgba(14,165,233,0.2) !important;
  outline: none !important;
}

/* --- Tables --- */
.kivicare table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}

.kivicare table th {
  background-color: #f1f5f9 !important;
  color: #1e293b !important;
  font-weight: 600 !important;
  padding: 12px !important;
  border: none !important;
}

.kivicare table td {
  background-color: #ffffff !important;
  padding: 12px !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

/* --- Navigation / Header --- */
.kivicare .navbar,
.kivicare .kivicare-header {
  background: #0ea5e9 !important;
  color: #ffffff !important;
  border-radius: 0 0 20px 20px !important;
  padding: 15px 25px !important;
  box-shadow: 0 4px 12px rgba(14,165,233,0.25) !important;
}

.kivicare .navbar a {
  color: #ffffff !important;
  font-weight: 500 !important;
}

/* --- Alerts & Notifications --- */
.kivicare .alert {
  border-radius: 12px !important;
  padding: 14px 18px !important;
  font-size: 14px !important;
}

.kivicare .alert-success {
  background-color: #d1fae5 !important;
  color: #065f46 !important;
}

.kivicare .alert-danger {
  background-color: #fee2e2 !important;
  color: #991b1b !important;
}

.kivicare .alert-info {
  background-color: #dbeafe !important;
  color: #1e40af !important;
}

/* --- Footer --- */
.kivicare-footer {
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  font-size: 14px !important;
  text-align: center !important;
  padding: 20px !important;
  border-top: 1px solid #e2e8f0 !important;
}
