/* Minimal, modern, clean custom styles layered on top of Tailwind */

html,
body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  letter-spacing: -0.005em;
}

/* iOS Safari auto-zooms on focus when the control's computed font-size is
 * smaller than 16px. Force a 16px minimum on small screens to prevent that
 * "zoomed-in after login" feeling on phones, while letting the visual size
 * still look normal via Tailwind utilities on larger viewports. */
@media (max-width: 640px) {
  input[type='text'],
  input[type='password'],
  input[type='number'],
  input[type='email'],
  input[type='date'],
  input[type='search'],
  input[type='url'],
  input[type='tel'],
  textarea,
  select {
    font-size: 16px !important;
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  transition: background-color 150ms, color 150ms, border-color 150ms;
  cursor: pointer;
}
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

input[type='text'],
input[type='password'],
input[type='number'],
input[type='email'],
input[type='date'],
textarea,
select {
  font-feature-settings: 'tnum';
}

.card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

.subtle-shadow {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.03);
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  display: inline-block;
}

.fade-in {
  animation: fadeIn 180ms ease-out;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

details > summary {
  list-style: none;
  cursor: pointer;
}
details > summary::-webkit-details-marker {
  display: none;
}

.chev {
  transition: transform 180ms ease;
}
details[open] > summary .chev {
  transform: rotate(90deg);
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 999px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
