@import 'tailwindcss';
@import '../../vendor/livewire/flux/dist/flux.css';

@source '../views';
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../vendor/livewire/flux-pro/stubs/**/*.blade.php';
@source '../../vendor/livewire/flux/stubs/**/*.blade.php';
@source '../../vendor/williamug/audited/resources/views/**/*.blade.php';

@custom-variant dark (&:where(.dark, .dark *));

@theme {
    --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

    --color-zinc-50: #fafafa;
    --color-zinc-100: #f5f5f5;
    --color-zinc-200: #e5e5e5;
    --color-zinc-300: #d4d4d4;
    --color-zinc-400: #a3a3a3;
    --color-zinc-500: #737373;
    --color-zinc-600: #525252;
    --color-zinc-700: #404040;
    --color-zinc-800: #262626;
    --color-zinc-900: #171717;
    --color-zinc-950: #0a0a0a;

    --color-accent: var(--color-neutral-800);
    --color-accent-content: var(--color-neutral-800);
    --color-accent-foreground: var(--color-white);
    --color-bikapro-blue: #2196F3;
    --color-bikapro-navy: #0D47A1;
}

@layer theme {
    .dark {
        --color-accent: var(--color-bikapro-blue);
        --color-accent-content: var(--color-bikapro-blue);
        --color-accent-foreground: var(--color-white);
    }
}

@layer base {

    html {
        @apply scroll-smooth;
    }

    *,
    ::after,
    ::before,
    ::backdrop,
    ::file-selector-button {
        border-color: var(--color-gray-200, currentColor);
    }
}

[data-flux-field]:not(ui-radio, ui-checkbox) {
    @apply grid gap-2;
}

[data-flux-label] {
    @apply  !mb-0 !leading-tight;
}

input:focus[data-flux-control],
textarea:focus[data-flux-control],
select:focus[data-flux-control] {
    @apply outline-hidden ring-2 ring-accent ring-offset-2 ring-offset-accent-foreground;
}

[data-flux-card] {
    @apply rounded-2xl border-zinc-200/80 shadow-sm shadow-blue-950/5 transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md hover:shadow-blue-950/10 dark:border-zinc-700 dark:shadow-black/20;
}

[data-flux-card] [data-flux-heading] {
    @apply tracking-tight;
}

/* Keep Flux table semantics while giving header cells the Bikapro treatment. */
[data-flux-column] {
    @apply border-b-0 bg-[#0D47A1] !px-5 !py-3.5 font-semibold tracking-wide text-white first:rounded-s-xl last:rounded-e-xl dark:bg-[#1565C0] dark:text-white;
}

[data-flux-columns] {
    @apply shadow-sm shadow-blue-950/10;
}

[data-flux-cell] {
    @apply !px-5 !py-3 first:!ps-5 last:!pe-5;
}

[data-flux-row]:not(:has([colspan])) {
    @apply transition-colors duration-150 hover:bg-blue-50/70 dark:hover:bg-blue-950/20;
}

[data-flux-button] {
    @apply transition duration-150 ease-out hover:-translate-y-px active:translate-y-0;
}

[data-flux-control] {
    @apply transition-shadow duration-150;
}

[data-flux-sidebar-item] {
    @apply rounded-lg text-blue-50 transition-all duration-150 hover:translate-x-0.5 hover:bg-white/10;
}

[data-flux-sidebar-item][data-current] {
    @apply bg-white/15 font-medium text-white shadow-sm ring-1 ring-white/10;
}

[data-flux-sidebar] [data-flux-sidebar-heading] {
    @apply text-blue-200;
}

[data-flux-sidebar] [data-flux-icon] {
    @apply text-blue-200;
}

[data-flux-modal] {
    @apply rounded-2xl shadow-2xl shadow-blue-950/20;
}

::selection {
    @apply bg-blue-200 text-blue-950 dark:bg-blue-800 dark:text-white;
}

/* \[:where(&)\]:size-4 {
    @apply size-4;
} */
