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

@layer components {
    .pagy-nav.pagination {
        @apply isolate inline-flex -space-x-px rounded-md shadow-sm;
    }

    .page.next a {
        @apply relative inline-flex items-center rounded-r-md bg-blue-600 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
    }

    .page.prev a {
        @apply relative inline-flex items-center rounded-l-md bg-blue-600 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
    }

    .page.next.disabled {
        @apply relative inline-flex items-center rounded-r-md bg-blue-500 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
    }

    .page.prev.disabled {
        @apply relative inline-flex items-center rounded-l-md bg-blue-500 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
    }

    .page a, .page.gap {
        @apply bg-blue-600 text-white hover:bg-blue-700 relative inline-flex items-center border px-4 py-2 text-sm font-medium focus:z-20;
    }

    .page.active {
        @apply z-10 border-blue-700 bg-blue-700 text-white relative inline-flex items-center border px-4 py-2 text-sm font-bold focus:z-20;
    }
}
@layer components {
  .pagy-nav.pagination {
    @apply isolate inline-flex -space-x-px rounded-md shadow-sm;
  }

  .page.next a {
    @apply relative inline-flex items-center rounded-r-md bg-blue-600 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
  }

  .page.prev a {
    @apply relative inline-flex items-center rounded-l-md bg-blue-600 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
  }

  .page.next.disabled {
    @apply relative inline-flex items-center rounded-r-md bg-blue-500 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
  }

  .page.prev.disabled {
    @apply relative inline-flex items-center rounded-l-md bg-blue-500 px-2 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:z-20;
  }

  .page a, .page.gap {
    @apply bg-blue-600 text-white hover:bg-blue-700 relative inline-flex items-center border px-4 py-2 text-sm font-medium focus:z-20;
  }

  .page.active {
    @apply z-10 border-blue-700 bg-blue-700 text-white relative inline-flex items-center border px-4 py-2 text-sm font-bold focus:z-20;
  }
}
/*
 * 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.
 *


 */

/* ─── Design tokens ───────────────────────────────────── */
:root {
  --accent:         oklch(54% 0.19 155);
  --accent-light:   oklch(96% 0.05 155);
  --accent-sidebar: oklch(22% 0.06 155);
  --bg-content:     oklch(96.5% 0.008 250);
  --text-primary:   #0d1117;
  --text-muted:     #94a3b8;
  --text-secondary: #64748b;
  --border:         #e8edf3;
  --border-light:   #f1f5f9;
}

/* ─── Base ────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'DM Sans', 'Inter', sans-serif;
  color: var(--text-primary);
  background: var(--bg-content);
}

h1, h2, h3, h4,
.font-display,
.font-sora {
  font-family: 'Sora', sans-serif;
}

.font-mono,
.tabular-nums {
  font-family: 'DM Mono', 'ui-monospace', monospace;
}

/* ─── Sidebar nav items ───────────────────────────────── */
.nav-item {
  color: var(--text-secondary);
  font-weight: 500;
  text-decoration: none;
}
.nav-item:hover {
  background: #f1f5f9;
  color: #475569;
}
.nav-item--active {
  background: var(--accent-light);
  color: var(--accent);
  font-weight: 600;
}

/* ─── Content area ────────────────────────────────────── */
.caudal-content {
  padding: 24px 28px;
}
@media (max-width: 639px) {
  .caudal-content {
    padding: 70px 16px 24px;
  }
}

/* ─── Scrollbar ───────────────────────────────────────── */
::-webkit-scrollbar        { width: 4px; height: 4px; }
::-webkit-scrollbar-track  { background: transparent; }
::-webkit-scrollbar-thumb  { background: #e2e8f0; border-radius: 2px; }

/* ─── Form components ─────────────────────────────────── */
.form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 4px;
}

.form-input {
  display: block;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.875rem;
  color: var(--text-primary);
  background: #fff;
  outline: none;
  transition: border-color 0.15s;
}
.form-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px oklch(54% 0.19 155 / 0.12);
}
.form-input::placeholder {
  color: var(--text-muted);
}

.form-hint {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 4px;
}

.form-errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.form-errors li {
  font-size: 0.875rem;
  color: #dc2626;
  list-style: disc;
  margin-left: 16px;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background: var(--accent);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s;
  text-decoration: none;
}
.btn-primary:hover { opacity: 0.88; }

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  background: #f1f5f9;
  color: var(--text-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
  text-decoration: none;
}
.btn-secondary:hover { background: #e2e8f0; }

.form-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px;
}

.page-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.page-header__back {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f1f5f9;
  color: var(--text-secondary);
  transition: background 0.15s;
  flex-shrink: 0;
  text-decoration: none;
}
.page-header__back:hover { background: #e2e8f0; }
.page-header__title {
  font-family: 'Sora', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-primary);
}
.page-header__sub {
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin-top: 2px;
}
