Certified/resources/css/app.css
Joël van de Wouw a3b3d7d029 Polish app branding with shared brand components
Extract the shield mark into reusable brand-icon/brand-mark components
and use them in the app shell, auth layout, and marketing nav/footer.
Align the palette on emerald (badges, selection, dark zinc-950 body),
and add a subtle grid/glow backdrop to the app layout.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 15:37:54 +02:00

128 lines
3.3 KiB
CSS

@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';
@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: #f8fafc;
--color-zinc-100: #f1f5f9;
--color-zinc-200: #e2e8f0;
--color-zinc-300: #cbd5e1;
--color-zinc-400: #94a3b8;
--color-zinc-500: #64748b;
--color-zinc-600: #475569;
--color-zinc-700: #334155;
--color-zinc-800: #1e293b;
--color-zinc-900: #0f172a;
--color-zinc-950: #020617;
--color-accent: var(--color-emerald-600);
--color-accent-content: var(--color-emerald-600);
--color-accent-foreground: var(--color-white);
/* Marketing pages */
--animate-fade-in-up: fade-in-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
--animate-scan-beam: scan-beam 1.6s ease-in-out infinite;
--animate-caret-blink: caret-blink 1s steps(2) infinite;
--animate-float-slow: float-slow 7s ease-in-out infinite;
@keyframes fade-in-up {
from {
opacity: 0;
transform: translateY(1.5rem);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes scan-beam {
0%,
100% {
top: 0%;
}
50% {
top: calc(100% - 3px);
}
}
@keyframes caret-blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0;
}
}
@keyframes float-slow {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-0.75rem);
}
}
}
[x-cloak] {
display: none !important;
}
@utility bg-grid-slate {
background-image:
linear-gradient(to right, --alpha(var(--color-slate-400) / 14%) 1px, transparent 1px),
linear-gradient(to bottom, --alpha(var(--color-slate-400) / 14%) 1px, transparent 1px);
background-size: 2.5rem 2.5rem;
}
@utility bg-noise {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}
@layer theme {
.dark {
--color-accent: var(--color-emerald-500);
--color-accent-content: var(--color-emerald-400);
--color-accent-foreground: var(--color-white);
}
}
@layer base {
*,
::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-white dark:ring-offset-slate-900;
}
/* \[:where(&)\]:size-4 {
@apply size-4;
} */