/* Kerbone OS — styles complémentaires (DA claire, cartes arrondies, loader). */

[x-cloak] { display: none !important; }

/* Réserve la place de la scrollbar en permanence : évite que la page (et la
   sidebar) se décalent quand on change de module (contenu plus ou moins haut). */
html { scrollbar-gutter: stable; }

.lbl { display: block; font-size: 0.8rem; font-weight: 500; color: #475569; margin-bottom: 0.25rem; }
.inp {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 0.5rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  outline: none;
  transition: box-shadow 0.15s, border-color 0.15s;
}
.inp:focus { border-color: #1f9d63; box-shadow: 0 0 0 2px rgba(31, 157, 99, 0.25); }

/* Loader circulaire (logo Kerbone au centre) */
.loader-ring {
  width: 48px; height: 48px;
  border: 3px solid #E7ECF2;
  border-top-color: #10B981;
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}
.spin { display: inline-block; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Utilitaires couleur (secours si Tailwind CDN ne génère pas une classe custom) */
.bg-kgreen { background-color: #10B981; }
.bg-kgreen-50 { background-color: #E7F6EF; }
.text-kgreen { color: #0F9D6A; }
.hover\:bg-kgreen-600:hover { background-color: #0F9D6A; }
.hover\:bg-kgreen-50:hover { background-color: #E7F6EF; }
.bg-navy { background-color: #0F1E38; }
.hover\:bg-navy-700:hover { background-color: #16294a; }
.text-navy { color: #0F1E38; }
.ring-kgreen { --tw-ring-color: #10B981; }
.focus\:ring-kgreen:focus { --tw-ring-color: #10B981; }
.border-kgreen { border-color: #10B981; }

pre { font-family: 'Montserrat', system-ui, sans-serif; }
svg { display: inline-block; vertical-align: middle; }

/* Kanban */
.kanban-card { transition: box-shadow .18s, transform .18s; }
.kanban-card:hover { transform: translateY(-2px); box-shadow: 0 2px 6px rgba(0,0,0,.08), 0 12px 28px rgba(0,0,0,.06); }
.kanban-ghost { opacity: .5; }
.kanban-col.sortable-drag { cursor: grabbing; }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* FullCalendar — alignement charte Kerbone */
.fc {
  --fc-button-bg-color: #0F1E38; --fc-button-border-color: #0F1E38;
  --fc-button-hover-bg-color: #16294a; --fc-button-hover-border-color: #16294a;
  --fc-button-active-bg-color: #16294a; --fc-button-active-border-color: #16294a;
  --fc-today-bg-color: #EAF1FE; --fc-border-color: #EDEFF2; --fc-page-bg-color: #fff;
  font-family: 'Montserrat', system-ui, sans-serif;
}
.fc .fc-button { border-radius: 8px; font-size: .8rem; text-transform: none; font-weight: 500; box-shadow: none !important; }
.fc .fc-toolbar-title { font-size: 1.05rem; font-weight: 600; color: #0F1E38; }
.fc .fc-daygrid-day-number, .fc .fc-col-header-cell-cushion { color: #5B6B84; text-decoration: none; font-weight: 500; }
.fc .fc-daygrid-day.fc-day-today { --fc-today-bg-color: #EAF1FE; }
.fc-event { border: none; font-weight: 500; padding: 1px 5px; border-radius: 6px; cursor: pointer; font-size: .72rem; }
.fc-event:hover { filter: brightness(.95); }
