2025-12-11 17:22:26 +01:00
|
|
|
@import "tailwindcss";
|
2026-01-16 16:00:00 +01:00
|
|
|
@import "tom-select/dist/css/tom-select.css";
|
2026-01-15 18:51:17 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* --- CONFIGURATION GLOBALE --- */
|
|
|
|
|
@layer base {
|
|
|
|
|
form label {
|
|
|
|
|
@apply text-white;
|
2026-01-15 18:51:17 +01:00
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
.custom-scrollbar {
|
|
|
|
|
&::-webkit-scrollbar {
|
|
|
|
|
@apply w-[5px] h-[5px];
|
|
|
|
|
}
|
|
|
|
|
&::-webkit-scrollbar-track {
|
|
|
|
|
@apply bg-transparent;
|
|
|
|
|
}
|
|
|
|
|
&::-webkit-scrollbar-thumb {
|
|
|
|
|
@apply bg-slate-300 rounded-full dark:bg-slate-700;
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* --- ANIMATIONS --- */
|
|
|
|
|
@theme {
|
|
|
|
|
@keyframes fadeIn {
|
|
|
|
|
from { opacity: 0; transform: translateY(10px); }
|
|
|
|
|
to { opacity: 1; transform: translateY(0); }
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
.animate-fadeIn {
|
|
|
|
|
animation: fadeIn 0.3s ease-in-out;
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
.page-transition {
|
|
|
|
|
animation: fadeIn 0.3s ease-out;
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* --- UI COMPONENTS --- */
|
|
|
|
|
/* Menu Accordion sans JS */
|
|
|
|
|
details {
|
|
|
|
|
& summary::-webkit-details-marker {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
&[open] .arrow-icon {
|
|
|
|
|
@apply rotate-180 transition-transform;
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-29 10:06:39 +01:00
|
|
|
.ts-control {
|
|
|
|
|
.item {
|
|
|
|
|
color: white !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* --- TOMSELECT CUSTOM DARK THEME --- */
|
|
|
|
|
/* On augmente la spécificité par le nesting pour éviter les !important */
|
|
|
|
|
.ts-wrapper {
|
|
|
|
|
& .ts-control {
|
|
|
|
|
@apply bg-slate-900/60 border-white/5 rounded p-2 flex flex-wrap transition-all shadow-none relative z-1;
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
& > input {
|
|
|
|
|
@apply text-slate-50 text-sm flex-1 min-w-[7rem] bg-transparent border-none outline-none;
|
|
|
|
|
&::placeholder { @apply text-slate-500; }
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
&.focus .ts-control {
|
|
|
|
|
@apply ring-2 ring-blue-500/20 border-blue-500;
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* Tags (Multi-select) */
|
|
|
|
|
&.multi .ts-control > div {
|
|
|
|
|
@apply bg-blue-600 text-white rounded px-1.5 py-0.5 border border-blue-700 mr-1 mb-1 cursor-pointer;
|
|
|
|
|
&.active { @apply bg-blue-800 border-blue-900; }
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* Dropdown menu */
|
|
|
|
|
& .ts-dropdown {
|
|
|
|
|
@apply absolute top-full left-0 w-full z-10 bg-slate-900 border border-white/10 shadow-2xl rounded-b mt-1 text-slate-50;
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
& .option {
|
|
|
|
|
@apply px-2 py-1.5 cursor-pointer transition-colors opacity-100;
|
|
|
|
|
&.active { @apply bg-slate-800 text-blue-500; }
|
|
|
|
|
&[data-selectable]:hover { @apply bg-slate-800; }
|
|
|
|
|
&.highlight { @apply bg-blue-500/30 rounded-sm; }
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
& .optgroup-header {
|
|
|
|
|
@apply px-2 py-1.5 text-slate-400 bg-slate-900 font-bold text-[10px] uppercase tracking-widest cursor-default border-t border-white/5;
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
& .no-results, & .create { @apply px-2 py-1.5; }
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* Plugins */
|
|
|
|
|
&.plugin-clear_button .clear-button {
|
|
|
|
|
@apply opacity-0 transition-opacity cursor-pointer text-red-500 absolute right-2 top-1/2 -translate-y-1/2;
|
|
|
|
|
}
|
|
|
|
|
&:hover.has-items .clear-button, &.focus.has-items .clear-button {
|
|
|
|
|
@apply opacity-100;
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
&.disabled {
|
|
|
|
|
@apply opacity-50;
|
|
|
|
|
& .ts-control { @apply bg-slate-900 cursor-default; }
|
|
|
|
|
}
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* --- LOGIQUE MÉTIER & FIXES --- */
|
|
|
|
|
.form-repeater__row {
|
|
|
|
|
@apply relative z-[90];
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* Fix pour l'affichage des dropdowns dans les repeaters */
|
|
|
|
|
.ts-dropdown.single {
|
|
|
|
|
@apply relative;
|
2026-01-16 16:00:00 +01:00
|
|
|
}
|
|
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* --- BOUTON BACK TO TOP (Injected via JS) --- */
|
|
|
|
|
/* --- BOUTON BACK TO TOP (Injected via JS) --- */
|
|
|
|
|
#back-to-top {
|
|
|
|
|
/* Utilisation de la classe standard Tailwind pour la fluidité */
|
|
|
|
|
@apply transition-all duration-500 ease-in-out;
|
2026-01-16 16:00:00 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
/* Optionnel : si tu veux vraiment un cubic-bezier spécifique, utilise les crochets : */
|
|
|
|
|
/* transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); */
|
2026-01-19 17:56:57 +01:00
|
|
|
|
2026-01-28 12:39:30 +01:00
|
|
|
&:active {
|
|
|
|
|
@apply scale-95;
|
|
|
|
|
}
|
2026-01-19 17:56:57 +01:00
|
|
|
}
|
2026-01-29 14:23:58 +01:00
|
|
|
|
|
|
|
|
.fc-event{
|
|
|
|
|
background: rgba(177, 59, 246, 0.4) !important;
|
|
|
|
|
display: block !important;
|
|
|
|
|
}
|