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

/* Design tokens and component primitives */
@layer base {
  :root {
    /* grayscale */
    --background: 0 0% 100%;
    --foreground: 222 47% 11%;
    --muted: 215 16% 47%;
    --border: 214 32% 91%;
    --input: 214 32% 91%;
    --ring: 226 70% 55%;

    /* brand */
    --brand-50: 226 100% 97%;
    --brand-100: 226 100% 93%;
    --brand-200: 228 96% 89%;
    --brand-300: 229 94% 82%;
    --brand-400: 230 87% 73%;
    --brand-500: 231 83% 66%;
    --brand-600: 231 72% 60%;
    /* approx indigo-600 */
    --brand-700: 232 69% 52%;
    --brand-800: 234 57% 43%;
    --brand-900: 235 45% 35%;

    /* radii */
    --radius-sm: 0.375rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
  }

  .bg-page {
    @apply bg-gray-50;
  }
}

@layer components {

  /* Buttons */
  .btn {
    @apply inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50;
  }

  .btn-primary {
    @apply btn bg-indigo-600 text-white hover:bg-indigo-500 active:bg-indigo-700 focus-visible:ring-indigo-600 shadow-sm;
  }

  .btn-secondary {
    @apply btn bg-white text-gray-900 ring-1 ring-inset ring-gray-300 hover:bg-gray-50;
  }

  .btn-ghost {
    @apply btn bg-transparent text-gray-700 hover:bg-gray-100;
  }

  /* Pills / badges */
  .pill {
    @apply inline-flex items-center gap-1 rounded-full border border-gray-200 bg-white px-2.5 py-1 text-xs font-medium text-gray-700 shadow-sm;
  }

  .badge {
    @apply inline-flex items-center rounded-md bg-gray-100 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-gray-700;
  }

  /* Card */
  .card {
    @apply rounded-xl border border-gray-200 bg-white shadow-sm;
  }

  /* Navigation */
  .nav-link {
    @apply inline-flex items-center rounded-md px-3 py-2 text-sm font-medium text-gray-600 hover:bg-gray-50 hover:text-gray-900;
  }

  .nav-link--active {
    @apply bg-gray-50 text-gray-900 ring-1 ring-gray-200;
  }

  .navbar {
    @apply bg-white/80 backdrop-blur border-b border-gray-200;
  }
}

@layer utilities {
  .container-page {
    @apply mx-auto max-w-7xl px-4 sm:px-6 lg:px-8;
  }
}
/*
 * 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.
 *


 */
