@tailwind base;
@tailwind components;
@tailwind utilities;

@layer components {
  .contain {
    @apply container mx-auto px-2;
  }

  .body-1 {
    @apply font-sans text-lg;
  }

  .body-2 {
    @apply font-sans text-base;
  }

  .body-3 {
    @apply font-sans text-sm;
  }

  .heading-1 {
    @apply font-sans font-bold text-4xl;
  }

  .heading-2 {
    @apply font-sans font-bold text-3xl;
  }

  .heading-3 {
    @apply font-sans font-bold text-2xl;
  }

  .heading-4 {
    @apply font-sans font-bold text-xl;
  }

  .btn-group {
    @apply flex flex-col flex-wrap gap-1.5 md:items-center md:flex-row;
  }

  .btn-primary,
  .btn-secondary {
    @apply inline-block px-4 py-1.5 border rounded-full cursor-pointer font-medium text-[16px] text-center transition-all duration-300 ease-in-out;
  }

  .btn-primary {
    @apply bg-indigo-800 border-indigo-800 text-white text-center hover:bg-indigo-700 hover:border-indigo-500;
  }

  .btn-secondary {
    @apply bg-slate-200 border-slate-200 text-slate-700 hover:border-indigo-200 hover:bg-indigo-100 hover:text-indigo-700;
  }

  .btn-text {
    @apply inline-block underline-offset-4 font-medium text-center text-indigo-800 cursor-pointer transition-all duration-300 ease-in-out hover:text-indigo-900 hover:underline;
  }

  .chip {
    @apply bg-slate-100 border border-slate-200 text-slate-600 rounded-md inline-block py-0.5 px-1.5 font-bold text-xs uppercase;
  }

  .chip.indeterminate {
    @apply bg-blue-100 border-blue-200 text-blue-900;
  }

  .chip.done {
    @apply bg-emerald-100 border-emerald-200 text-emerald-900;
  }

  .chip.epic {
    @apply bg-violet-200 border-violet-200 text-violet-800 truncate max-w-[20ch];
  }

  label {
    @apply block text-sm mb-0.5 font-semibold cursor-pointer;
  }

  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="url"],
  input[type="date"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  input[type="search"],
  input[type="tel"],
  select,
  textarea {
    @apply py-2 px-2 border rounded-sm border-slate-300 placeholder-slate-400 w-full md:w-[400px];
  }

  textarea {
    @apply h-[100px];
  }

  .data-grid {
    @apply w-full body-2 text-left;

    th,
    td {
      @apply p-2 border-b align-middle transition-all duration-100 ease-in-out;
    }

    tr:hover {
      @apply bg-neutral-50;
    }
  }

  /* Pagination */
  .pagination {
    @apply mt-4;

    a,
    span,
    em {
      @apply inline-block border px-3 py-1 rounded-md not-italic;
    }

    a {
      @apply border-black font-medium hover:bg-black hover:text-white;
    }

    .current {
    }
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
