@import 'tailwindcss';

@import "tw-animate-css";

@source '../views';
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';

@custom-variant dark (&:is(.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';

    --radius-lg: var(--radius);
    --radius-md: calc(var(--radius) - 2px);
    --radius-sm: calc(var(--radius) - 4px);

    --color-background: var(--background);
    --color-foreground: var(--foreground);

    --color-card: var(--card);
    --color-card-foreground: var(--card-foreground);

    --color-popover: var(--popover);
    --color-popover-foreground: var(--popover-foreground);

    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);

    --color-secondary: var(--secondary);
    --color-secondary-foreground: var(--secondary-foreground);

    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);

    --color-accent: var(--accent);
    --color-accent-foreground: var(--accent-foreground);

    --color-destructive: var(--destructive);
    --color-destructive-foreground: var(--destructive-foreground);

    --color-border: var(--border);
    --color-input: var(--input);
    --color-ring: var(--ring);

    --color-chart-1: var(--chart-1);
    --color-chart-2: var(--chart-2);
    --color-chart-3: var(--chart-3);
    --color-chart-4: var(--chart-4);
    --color-chart-5: var(--chart-5);

    --color-sidebar: var(--sidebar);
    --color-sidebar-foreground: var(--sidebar-foreground);
    --color-sidebar-primary: var(--sidebar-primary);
    --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
    --color-sidebar-accent: var(--sidebar-accent);
    --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
    --color-sidebar-border: var(--sidebar-border);
    --color-sidebar-ring: var(--sidebar-ring);
}

:root {
    /* Soft, calming background colors */
    --background: oklch(0.99 0.005 106);
    --foreground: oklch(0.25 0.02 250);
    --card: oklch(0.995 0.003 106);
    --card-foreground: oklch(0.25 0.02 250);
    --popover: oklch(0.995 0.003 106);
    --popover-foreground: oklch(0.25 0.02 250);
    
    /* Soft blue primary - calming and professional */
    --primary: oklch(0.55 0.12 240);
    --primary-foreground: oklch(0.99 0.005 106);
    
    /* Soft lavender secondary */
    --secondary: oklch(0.95 0.02 280);
    --secondary-foreground: oklch(0.35 0.08 260);
    
    /* Soft muted tones */
    --muted: oklch(0.96 0.01 250);
    --muted-foreground: oklch(0.45 0.03 250);
    
    /* Soft accent - gentle purple */
    --accent: oklch(0.92 0.03 280);
    --accent-foreground: oklch(0.35 0.08 260);
    
    /* Softer destructive color */
    --destructive: oklch(0.55 0.18 25);
    --destructive-foreground: oklch(0.99 0.005 106);
    
    /* Soft borders */
    --border: oklch(0.90 0.01 250);
    --input: oklch(0.92 0.01 250);
    --ring: oklch(0.65 0.10 240);
    
    /* Calming chart colors - pastel palette */
    --chart-1: oklch(0.70 0.15 200);
    --chart-2: oklch(0.68 0.12 280);
    --chart-3: oklch(0.65 0.14 160);
    --chart-4: oklch(0.72 0.13 40);
    --chart-5: oklch(0.70 0.12 320);
    
    --radius: 0.75rem;
    
    /* Soft sidebar colors */
    --sidebar: oklch(0.98 0.005 260);
    --sidebar-foreground: oklch(0.30 0.02 250);
    --sidebar-primary: oklch(0.55 0.12 240);
    --sidebar-primary-foreground: oklch(0.99 0.005 106);
    --sidebar-accent: oklch(0.94 0.02 280);
    --sidebar-accent-foreground: oklch(0.35 0.08 260);
    --sidebar-border: oklch(0.90 0.01 250);
    --sidebar-ring: oklch(0.65 0.10 240);
}

.dark {
    /* Warmer, softer dark background */
    --background: oklch(0.18 0.01 250);
    --foreground: oklch(0.95 0.005 106);
    --card: oklch(0.20 0.01 250);
    --card-foreground: oklch(0.95 0.005 106);
    --popover: oklch(0.20 0.01 250);
    --popover-foreground: oklch(0.95 0.005 106);
    
    /* Soft blue for dark mode */
    --primary: oklch(0.65 0.15 240);
    --primary-foreground: oklch(0.18 0.01 250);
    
    /* Soft purple secondary */
    --secondary: oklch(0.28 0.03 280);
    --secondary-foreground: oklch(0.90 0.01 250);
    
    /* Softer muted in dark */
    --muted: oklch(0.25 0.02 250);
    --muted-foreground: oklch(0.70 0.02 250);
    
    /* Gentle accent */
    --accent: oklch(0.30 0.04 280);
    --accent-foreground: oklch(0.90 0.01 250);
    
    /* Softer destructive */
    --destructive: oklch(0.55 0.20 25);
    --destructive-foreground: oklch(0.95 0.005 106);
    
    /* Soft borders */
    --border: oklch(0.30 0.02 250);
    --input: oklch(0.28 0.02 250);
    --ring: oklch(0.50 0.08 240);
    
    /* Calming chart colors for dark mode */
    --chart-1: oklch(0.65 0.18 200);
    --chart-2: oklch(0.63 0.15 280);
    --chart-3: oklch(0.60 0.16 160);
    --chart-4: oklch(0.67 0.15 40);
    --chart-5: oklch(0.65 0.14 320);
    
    /* Soft sidebar for dark mode */
    --sidebar: oklch(0.22 0.01 260);
    --sidebar-foreground: oklch(0.90 0.01 250);
    --sidebar-primary: oklch(0.65 0.15 240);
    --sidebar-primary-foreground: oklch(0.18 0.01 250);
    --sidebar-accent: oklch(0.28 0.03 280);
    --sidebar-accent-foreground: oklch(0.90 0.01 250);
    --sidebar-border: oklch(0.30 0.02 250);
    --sidebar-ring: oklch(0.50 0.08 240);
}

@layer base {
    * {
        @apply border-border;
    }

    html {
        zoom: 0.8;
    }

    body {
        @apply bg-background text-foreground;
        /* Smooth transitions for color changes */
        transition: background-color 0.3s ease, color 0.3s ease;
    }
    
    /* Add subtle gradients to cards for depth */
    .card-gradient {
        background: linear-gradient(135deg, 
            oklch(0.995 0.003 106) 0%, 
            oklch(0.99 0.005 106) 100%);
    }
    
    .dark .card-gradient {
        background: linear-gradient(135deg, 
            oklch(0.20 0.01 250) 0%, 
            oklch(0.18 0.01 250) 100%);
    }
    
    /* Soft shadow for cards */
    .card-shadow {
        box-shadow: 0 2px 8px oklch(0.85 0.02 250 / 0.08),
                    0 1px 3px oklch(0.85 0.02 250 / 0.12);
    }
    
    .dark .card-shadow {
        box-shadow: 0 2px 8px oklch(0.10 0.01 250 / 0.3),
                    0 1px 3px oklch(0.10 0.01 250 / 0.4);
    }
    
    /* Smooth hover effects */
    button, a {
        transition: all 0.2s ease;
    }
    
    /* Soft focus rings */
    *:focus-visible {
        outline: 2px solid oklch(0.65 0.10 240);
        outline-offset: 2px;
        border-radius: var(--radius);
    }
    
    .dark *:focus-visible {
        outline-color: oklch(0.50 0.08 240);
    }
    
    /* Modern, sleek scrollbar for sidebar */
    [data-sidebar="content"] {
        scrollbar-width: thin;
        scrollbar-color: oklch(0.70 0.02 250 / 0.3) transparent;
    }
    
    [data-sidebar="content"]::-webkit-scrollbar {
        width: 6px;
    }
    
    [data-sidebar="content"]::-webkit-scrollbar-track {
        background: transparent;
    }
    
    [data-sidebar="content"]::-webkit-scrollbar-thumb {
        background: oklch(0.70 0.02 250 / 0.3);
        border-radius: 10px;
        transition: background 0.2s ease;
    }
    
    [data-sidebar="content"]::-webkit-scrollbar-thumb:hover {
        background: oklch(0.60 0.03 250 / 0.5);
    }
    
    .dark [data-sidebar="content"] {
        scrollbar-color: oklch(0.50 0.02 250 / 0.4) transparent;
    }
    
    .dark [data-sidebar="content"]::-webkit-scrollbar-thumb {
        background: oklch(0.50 0.02 250 / 0.4);
    }
    
    .dark [data-sidebar="content"]::-webkit-scrollbar-thumb:hover {
        background: oklch(0.60 0.03 250 / 0.6);
    }
}

@layer utilities {
    /* Soft gradient backgrounds */
    .bg-gradient-soft {
        background: linear-gradient(135deg, 
            oklch(0.99 0.005 106) 0%, 
            oklch(0.97 0.01 280) 100%);
    }
    
    .dark .bg-gradient-soft {
        background: linear-gradient(135deg, 
            oklch(0.18 0.01 250) 0%, 
            oklch(0.20 0.01 260) 100%);
    }
    
    /* Gentle glow effect */
    .glow-soft {
        box-shadow: 0 0 20px oklch(0.70 0.12 240 / 0.15);
    }
    
    .dark .glow-soft {
        box-shadow: 0 0 20px oklch(0.65 0.15 240 / 0.25);
    }
    
    /* Smooth border gradient */
    .border-gradient {
        border-image: linear-gradient(135deg, 
            oklch(0.70 0.12 240), 
            oklch(0.68 0.12 280)) 1;
    }
}
