:root {
	--color-primary-transparent: color-mix(in oklch, var(--color-primary) 20%, transparent);
	--color-primary-light-1: color-mix(in oklch, var(--color-primary) 95%, white);
	--color-primary-light-2: color-mix(in oklch, var(--color-primary) 90%, white);
} 

.bg-gradient-primary,
.bg-conic-primary {
	background-color: var(--color-primary);
	background-image: url(./assets/images/gradient-background.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-blend-mode: hard-light;
}

.btn-ai {
  color: white;
  background: linear-gradient(135deg, rgb(184 37 189) 0%, rgb(57 85 209) 50%, rgb(79 140 223) 100%);
  border: unset;
  
  /* Effet de glow léger sur le texte */
  text-shadow: 
    0 0 3px rgba(255, 255, 255, 0.4),
    0 0 6px rgba(255, 255, 255, 0.2),
    0 0 9px rgba(102, 208, 234, 0.3);
    
  box-shadow:
    inset 0 0 10px whitesmoke;
    
  transition:.4s;
}

/* Effet de glow sur les SVG à l'intérieur du bouton */
.btn-ai svg {
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.4))
          drop-shadow(0 0 6px rgba(255, 255, 255, 0.2))
          drop-shadow(0 0 9px rgba(102, 208, 234, 0.3));
  
  /* Transition fluide pour les SVG */
  transition: filter 0.3s ease;
}

/* Effet légèrement plus intense au survol (optionnel) */
.btn-ai:hover {
  text-shadow: 
    0 0 4px rgba(255, 255, 255, 0.5),
    0 0 8px rgba(255, 255, 255, 0.3),
    0 0 12px rgba(102, 208, 234, 0.4);
    
  box-shadow:
    inset 0 0 6px whitesmoke,
    inset 2px 0 8px #f0f,
    inset -2px 0 8px #0ff,
    inset 2px 0 20px #f0f,
    inset -2px 0 20px #0ff;
}

.btn-ai:hover svg {
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.5))
          drop-shadow(0 0 8px rgba(255, 255, 255, 0.3))
          drop-shadow(0 0 12px rgba(102, 208, 234, 0.4));
}

.file-input-neutral {
    border-color: var(--fallback-n, oklch(var(--n)/var(--tw-border-opacity)))
}

.file-input-neutral:focus {
    outline-color: var(--fallback-n, oklch(var(--n)/1))
}

.file-input-neutral::file-selector-button {
    --tw-border-opacity: 0;
    border-color: var(--fallback-nc, oklch(var(--nc)/var(--tw-border-opacity)));
    --tw-bg-opacity: 0.3;
    background-color: var(--fallback-nc, oklch(var(--nc)/var(--tw-bg-opacity)));
    color: var(--fallback-n, oklch(var(--n)/var(--tw-text-opacity)))
}

.cardlist .cardlist {
	margin-bottom: 0;
}

.table-border-grey th,
.table-border-grey td {
	border-color: lightgrey;
}

.table tbody tr:hover th.bg-primary,
.table tbody tr:hover td.bg-primary {
	background-color: #3571ba;
}

:root[data-theme='dark'] .table-border-grey th,
:root[data-theme='dark'] .table-border-grey td {
	border-color: #353e49;
}

:root[theme='dark'] .table-border-grey th,
:root[theme='dark'] .table-border-grey td {
	border-color: #353e49;
}

@media (prefers-color-scheme: dark) {

	.table-border-grey th,
	.table-border-grey td {
		border-color: #353e49;
	}
}

.btn:is(input[type=checkbox]):after,
.btn:is(input[type=radio]):after {
	white-space: pre;
}

.modal-backdrop {
	backdrop-filter: blur(1px);
}

.acs-modal_box,
.acs-datatable,
.acs-area_container {
	scrollbar-width: thin;
	scrollbar-color: #888 transparent;
}

.acs-modal_box::-webkit-scrollbar,
.acs-datatable::-webkit-scrollbar,
.acs-area_container::-webkit-scrollbar {
	width: 5px;
}

.acs-modal_box::-webkit-scrollbar-thumb,
.acs-datatable::-webkit-scrollbar-thumb,
.acs-area_container::-webkit-scrollbar-thumb {
	background-color: #888;
	border-radius: 5px;
}

.acs-modal_box::-webkit-scrollbar-track,
.acs-datatable::-webkit-scrollbar-track,
.acs-area_container::-webkit-scrollbar-track {
	background-color: transparent;
}


.fc .fc-scrollgrid,
.fc .fc-multimonth {
	border-width: 0px;
}

.fc-theme-standard th {
	border-width: 0px;
	border-bottom-width: 1px;
}

.fc-daygrid .fc-daygrid-body {
	border: 0px solid var(--fc-border-color);
	border-left-width: 1px;
}

.fc .fc-col-header-cell-cushion,
.fc .fc-list-day-cushion {
	position: relative;
	font-weight: normal;
}
.fc .fc-multimonth-title {
	padding: 0.5em 0 0.2em 0;
}

.fc .fc-day-today .fc-col-header-cell-cushion,
.fc .fc-day-today .fc-daygrid-day-number,
.fc .fc-day-today .fc-list-day-cushion {
	font-weight: bold;
}

.fc .fc-list-day>th {
	z-index: 5;
}

.fc .fc-event {
	border-width: 0px;
	color: black;
	background-color: var(--fc-event-bg-color);
}

.fc .fc-event .fc-event-time {
	min-width: 40px;
}

.fc .fc-event-main {
	color: black;
	line-height: 1;
}

.fc .fc-timegrid-event .fc-event-main {
	padding: 0;
}

.fc .fc-timegrid-event .fc-event-time {
	padding: 1px 2px;
}

.fc .fc-daygrid-event {
	padding: 0;
}

.fc .fc-event-title-container {
	background-color: #ffffffdd;
	color: black;
	flex: 1;
	padding: 2px;
}

.fc *[data-dark_background="true"] .fc-event-time,
.fc *[data-dark_background="true"] .fc-list-event-time {
	color: white;
}

.fc *[data-hideTitle="true"] .fc-event-title,
.fc *[data-hideTitle="true"] .fc-list-event-title {
	display: none;
}

.fc *[data-hatched="true"] .fc-event-title-container {
	background: repeating-linear-gradient(45deg,
			#ffffff75, #ffffff75 15px,
			#ffffffdd 15px, #ffffffdd 30px);
}

.fc *[data-resolved="true"] .fc-event-title-container {
	background-color: #f2f2f2;
	color: black;
}

.fc *[data-resolved="true"] .fc-event-title-container img {
	opacity: 50%;
}

.fc .fc-event[data-bordered="true"] {
	border-left-width: 5px;
}

.fc .fc-daygrid-event-dot {
	display: none;
}

.fc .fc-daygrid-event .fc-event-time {
	padding-left: 2px;
}

.fc .fc-daygrid-body:not(.fc-multimonth-daygrid) {
	max-height: 25dvh;
}
.fc .fc-daygrid-body .fc-timegrid-axis-frame {
    position: sticky;
    top: 0;
    max-height: 25dvh;
}

@keyframes acs_cardFadeInUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-card-appear {
  animation: acs_cardFadeInUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* Cible tous les inputs et textareas ayant l'attribut readonly */
input[readonly],
textarea[readonly],
input[readonly].input,
textarea[readonly].textarea,
input[readonly].input-bordered {			
    all: unset;      
    display: inline-block;  
    font-size: 14px;
    color: inherit;
	background-color: white;
	width: 100%;
}