@import 'tailwindcss'; @import '../../vendor/livewire/flux/dist/flux.css'; @source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php'; @source '../../vendor/livewire/flux/src/resources/views/**/*.blade.php'; @source '../../storage/framework/views/*.php'; @source '../views/admin/**/*.blade.php'; @source '../../app/Core/**/Blade/**/*.blade.php'; @source '../../app/Mod/*/View/Blade/**/*.blade.php'; @plugin "@tailwindcss/forms" { strategy: base; } @custom-variant dark (&:is(.dark *)); @custom-variant sidebar-expanded (&:is(.sidebar-expanded *)); @theme { --shadow-sm: 0 1px 1px 0 rgb(0 0 0 / 0.05), 0 1px 2px 0 rgb(0 0 0 / 0.02); --color-gray-50: #f9fafb; --color-gray-100: #f3f4f6; --color-gray-200: #e5e7eb; --color-gray-300: #bfc4cd; --color-gray-400: #9ca3af; --color-gray-500: #6b7280; --color-gray-600: #4b5563; --color-gray-700: #374151; --color-gray-800: #1f2937; --color-gray-900: #111827; --color-gray-950: #030712; --color-violet-50: #f1eeff; --color-violet-100: #e6e1ff; --color-violet-200: #d2cbff; --color-violet-300: #b7acff; --color-violet-400: #9c8cff; --color-violet-500: #8470ff; --color-violet-600: #755ff8; --color-violet-700: #5d47de; --color-violet-800: #4634b1; --color-violet-900: #2f227c; --color-violet-950: #1c1357; --color-sky-50: #e3f3ff; --color-sky-500: #67bfff; --color-green-50: #d2ffe2; --color-green-500: #3ec972; --color-red-50: #ffe8e8; --color-red-500: #ff5656; --color-yellow-50: #fff2c9; --color-yellow-500: #f0bb33; --font-inter: "Inter", "sans-serif"; --text-xs: 0.75rem; --text-xs--line-height: 1.5; --text-sm: 0.875rem; --text-sm--line-height: 1.5715; --text-base: 1rem; --text-base--line-height: 1.5; --text-base--letter-spacing: -0.01em; --text-lg: 1.125rem; --text-lg--line-height: 1.5; --text-lg--letter-spacing: -0.01em; --text-xl: 1.25rem; --text-xl--line-height: 1.5; --text-xl--letter-spacing: -0.01em; --text-2xl: 1.5rem; --text-2xl--line-height: 1.33; --text-2xl--letter-spacing: -0.01em; --text-3xl: 1.88rem; --text-3xl--line-height: 1.33; --text-3xl--letter-spacing: -0.01em; --breakpoint-xs: 480px; } @layer base { *, ::after, ::before, ::backdrop, ::file-selector-button { border-color: var(--color-gray-200, currentColor); } } /* Typography */ .h1 { @apply text-4xl font-extrabold tracking-tighter; } .h2 { @apply text-3xl font-extrabold tracking-tighter; } .h3 { @apply text-3xl font-extrabold; } .h4 { @apply text-2xl font-extrabold tracking-tight; } @media (width >= 768px) { .h1 { @apply text-5xl; } .h2 { @apply text-4xl; } } /* Buttons */ .btn, .btn-lg, .btn-sm, .btn-xs { @apply font-medium text-sm inline-flex items-center justify-center border border-transparent rounded-lg leading-5 shadow-xs transition; } .btn { @apply px-3 py-2; } .btn-lg { @apply px-4 py-3; } .btn-sm { @apply px-2 py-1; } .btn-xs { @apply px-2 py-0.5; } /* Forms */ input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; } .form-input, .form-textarea, .form-multiselect, .form-select, .form-checkbox, .form-radio { @apply bg-white dark:bg-gray-900/30 border focus:ring-0 focus:ring-offset-0; } .form-input, .form-textarea, .form-multiselect, .form-select { @apply text-sm text-gray-800 dark:text-gray-100 leading-5 py-2 px-3 border-gray-200 hover:border-gray-300 focus:border-gray-300 dark:border-gray-700/60 dark:hover:border-gray-600 dark:focus:border-gray-600 shadow-xs rounded-lg; } .form-input, .form-textarea { @apply placeholder-gray-400 dark:placeholder-gray-500; } .form-checkbox, .form-radio { @apply text-violet-500 checked:bg-violet-500 checked:border-transparent border border-gray-300 dark:border-gray-700/60; } /* Hide scrollbar */ .no-scrollbar::-webkit-scrollbar { display: none; } .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; } /* Fix for duotone icons in flex containers */ /* Duotone icons use ::before (absolute) + ::after (base layer) */ /* This ensures they display correctly inside flex containers */ .fa-duotone, .fad, .fa-sharp-duotone, .fa-notdog-duo, .fa-jelly-duo, .fa-utility-duo { display: inline-block; } /* Ensure duotone ::before stays absolutely positioned */ .fa-duotone::before, .fad::before, .fa-sharp-duotone::before, .fa-notdog-duo::before, .fa-jelly-duo::before, .fa-utility-duo::before { position: absolute !important; } /* Diff highlighting for revision comparison */ .diff-added { @apply bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-300 rounded px-0.5; } .diff-removed { @apply bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-300 rounded px-0.5 line-through; }